重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost&

出现报错:

Warning: World-writable config file '/etc/my.cnf' is ignored // 该文件权限过高
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)// 密码错误

解决方法:

1. chmod 644 /etc/my.cnf // 修改/etc/my.cnf权限 
2. grep 'password' /var/log/mysqld.log |head -n 1 // 找临时密码,如果找不到请看3
3. #重置密码
  (1) 在[mysqld]后面任意一行添加“skip-grant-tables”用来跳过密码验证的过程,保存文档并退出 //vim /etc/my.cnf
  (2) 重启mysql  // service mysql restart
  
  (3)mysql // 免密登陆  

  (4)use mysql;
    update mysql.user set authentication_string=password('你的新密码') where user='root'; // 注意password()是个函数,负责加密密码,不要删除
    flush privileges;
  
  (5)删除/etc/my.cnf中的skip-grant-tables
  (6)重启mysql服务

 

上一篇:Permission denied的解决办法


下一篇:mysql登陆ERROR 1045 (28000): Access denied for user