我的错误 1045 (28000):用户 'root'@'localhost' 的访问被拒绝(使用密码:是)

My ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

当我尝试通过命令连接 MySQL 服务器时:

mysql -u root -p

我收到错误 "Access denied"。我确定密码是正确的。

当我使用

mysqld --defaults-files "xxx\my.ini" --console --skip-grant-tables

选项,我可以访问,但是当我退出这个时,访问又被拒绝了。

我怎么解决它?

您可以重置根密码。

对于 MySQL 5.7.6 及更高版本:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';

MySQL 5.7.5 及更早版本:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

这可能很危险,请先阅读完整的官方说明:How to Reset the Root Password?

Try Resetting the Root Password: Generic Instructions

  1. 使用 --skip-grant-tables 选项重新启动 mysql
  2. 在 mysql 客户端中:FLUSH PRIVILEGES;
  3. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');