MySQL 错误::“用户 'root'@'localhost' 的访问被拒绝"

2021-11-20 00:00:00 sql database database-connection mysql

考虑:

./mysqladmin -u root -p** '_redacted_'  

输出(包括输入密码):

Output (including typing the password):

输入密码:

mysqladmin: 在 'localhost' 连接到服务器失败错误:
'用户'root'@'localhost'的访问被拒绝(使用密码:YES)'

mysqladmin: connect to server at 'localhost' failed error:
'Access denied for user 'root'@'localhost' (using password: YES)'

我该如何解决这个问题?

How can I fix this?

推荐答案

  1. 打开并编辑 /etc/my.cnf/etc/mysql/my.cnf,具体取决于您的发行版.
  2. [mysqld]
  3. 下添加skip-grant-tables
  4. 重启 MySQL
  5. 您现在应该可以使用以下命令登录 MySQL mysql -u root -p
  6. 运行mysql>刷新权限;
  7. 通过ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'设置新密码;
  8. 返回/etc/my.cnf 并remove/commentskip-grant-tables
  9. 重启 MySQL
  10. 现在您可以使用新密码登录mysql -u root -p
  1. Open and edit /etc/my.cnf or /etc/mysql/my.cnf, depending on your distribution.
  2. Add skip-grant-tables under [mysqld]
  3. Restart MySQL
  4. You should be able to log in to MySQL now using the below command mysql -u root -p
  5. Run mysql> flush privileges;
  6. Set new password by ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
  7. Go back to /etc/my.cnf and remove/comment skip-grant-tables
  8. Restart MySQL
  9. Now you will be able to login with the new password mysql -u root -p

相关文章