MySQL登录时ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ 完美解决
时间: 2023-07-26 17:08:44 浏览: 48
这个错误通常是因为 MySQL root 用户的密码错误或者没有设置密码导致的。你可以按照以下步骤来解决问题:
1. 确认 MySQL 服务已经启动,并且正在运行。
2. 使用命令行连接 MySQL:
```
mysql -u root -p
```
如果你没有设置 MySQL root 用户的密码,直接按回车键即可。
3. 如果出现了 `ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘` 的错误提示,说明你的密码错误或者没有设置密码。
4. 如果你记得密码,可以尝试重新输入正确的密码。
5. 如果你忘记了密码,可以按照以下步骤重置密码:
1. 停止 MySQL 服务:
```
sudo service mysql stop
```
2. 启动 MySQL 服务,并跳过权限认证:
```
sudo mysqld_safe --skip-grant-tables &
```
3. 连接 MySQL:
```
mysql -u root
```
4. 选择 MySQL 数据库:
```
use mysql;
```
5. 重置 root 用户密码:
```
update user set authentication_string=password('your_new_password') where user='root';
```
注意将 `your_new_password` 替换为你自己的新密码。
6. 刷新权限:
```
flush privileges;
```
7. 退出 MySQL:
```
quit
```
8. 停止 MySQL 服务:
```
sudo service mysql stop
```
9. 启动 MySQL 服务:
```
sudo service mysql start
```
6. 现在你可以使用新密码重新登录 MySQL 了:
```
mysql -u root -p
```