2019-11-12 mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

问题:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
问题描述:在linux中使用mysql -uroot -p 输入密码提示如上错误
解决方法:
1、先停掉原来的服务
  service mysqld stop
2、使用安全模式登陆,跳过密码验证
  mysqld_safe --user=mysql --skip-grant-tables --skip-networking&


  安全模式启动报错,重进mysql报:RROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
  1)、查看mysql.sock的位置是否正确
    /etc/my.cnf中查看,如不是则修改路径为/var/lib/mysql/mysql.sock
2019-11-12 mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)_第1张图片
image.png
 2)、重新启动mysql服务
    service mysqld restart
  3)、查看服务是否重启成功,并创建一个软链接
    service mysqld status 状态为running 则说明启动成功
    创建软连接 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
  4)、停止服务并重新以安全模式启动
  如还是报一样的错误,请重新启动服务并查看/tmp/mysql.sock软链接的实际文件是否存在,红底闪动表示源文件存在问题

3、登录mysql
  mysql -uroot mysql
4、修改密码
  update MySQL.user set authentication_string=password('newpassword') where user='root';
5、刷新权限
  flush privileges;
6、退出mysql
  quit;
7、退出安全模式,已正常模式登录mysql
  查看mysql相关进程 ps aux |grep mysqld
  杀掉mysql所有相关进程 kill -9 进程号
  重新查看mysql进程,如下表示进程杀掉成功
image.png
8、重启mysql服务
  service mysqld restart
9、执行其他命令:show databases; 提示如下错误
  You must reset your password using ALTER USER statement
  before executing this statement.

10、重新将密码设置一遍即可

  mysql > set password = password ('newpassword');

其他命令:
1、查看端口号是否已经打开
  lsof -i:3306
2、查找文件或者文件夹命令
  find src type filename filetype 如:find / -name my.cnf 或者 find /var -name mysql -d
3、编辑文件
  vi/vim 文件名 进入文件之后按 i 可对文件进行编辑操作 :w保存文件 :q退出文件 :wq保存退出
4、查看文件尾部
  tail -row 如 tail -50

你可能感兴趣的:(2019-11-12 mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO))