我的错误 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
- 使用 --skip-grant-tables 选项重新启动 mysql
- 在 mysql 客户端中:
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
当我尝试通过命令连接 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
- 使用 --skip-grant-tables 选项重新启动 mysql
- 在 mysql 客户端中:
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');