ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
时间: 2023-06-29 17:16:49 浏览: 123
这个错误通常是由于您输入的用户名或密码不正确,或者您没有足够的权限访问 MySQL 服务器,导致无法登录 MySQL。
首先,请确保您输入的用户名和密码是正确的。如果您在安装 MySQL 时未设置 root 用户的密码,则可以尝试以以下方式登录 MySQL:
```
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql" -u root
```
在这种情况下,您可以直接按下 Enter 键,而无需输入密码即可登录 MySQL。
如果您确定用户名和密码是正确的,但仍然无法登录 MySQL,则可能是因为您没有足够的权限访问 MySQL 服务器。您可以尝试以下步骤解决这个问题:
1. 打开命令提示符。您可以按下 Win+R 组合键,输入 "cmd" 并按下 Enter 键来打开命令提示符。
2. 以管理员身份运行命令提示符。在开始菜单中找到命令提示符,右键单击它,并选择 "以管理员身份运行"。
3. 停止 MySQL 服务。在命令提示符中输入以下命令并按下 Enter 键:
```
net stop mysql
```
4. 启动 MySQL 服务,并使用 --skip-grant-tables 参数启动。在命令提示符中输入以下命令并按下 Enter 键:
```
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" --skip-grant-tables
```
其中,"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysqld" 是 MySQL 安装目录下 mysqld.exe 文件的完整路径。如果您的 MySQL 安装在其他位置,请相应地更改该路径。
5. 以 root 身份登录 MySQL。在命令提示符中输入以下命令并按下 Enter 键:
```
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql" -u root
```
6. 执行以下 SQL 命令以更新 root 用户的密码:
```
UPDATE mysql.user SET authentication_string=PASSWORD('new_password') WHERE user='root' AND Host='localhost';
```
如果使用的是 MySQL 5.7 及以上版本,则需要执行以下命令:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
```
其中,new_password 为您要设置的新密码。
7. 退出 MySQL。
8. 停止 MySQL 服务。在命令提示符中输入以下命令并按下 Enter 键:
```
net stop mysql
```
9. 重新启动 MySQL 服务。在命令提示符中输入以下命令并按下 Enter 键:
```
net start mysql
```
10. 使用新密码以 root 身份登录 MySQL。在命令提示符中输入以下命令并按下 Enter 键:
```
"C:\Program Files\MySQL\MySQL Server 8.0\bin\mysql" -u root -p
```
然后输入您刚刚设置的新密码即可。
希望这能帮到您!
阅读全文