Linux虚拟机ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
时间: 2023-09-30 14:10:32 浏览: 88
ERROR 1045 (28000): Access denied for user ''root''@''localhost'' (using password: YES)实用解决方
当出现ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)错误时,表示在Linux虚拟机上无法以root用户登录MySQL数据库。这通常是由于密码错误引起的。以下是解决此问题的步骤:
1. 首先,我们需要跳过MySQL的密码验证过程。进入终端并使用以下命令编辑MySQL配置文件(my.cnf):
```
sudo vim /etc/my.cnf
```
在[mysqld]部分的任意一行后面添加以下内容:
```
skip-grant-tables
```
保存并退出编辑器。
2. 重启MySQL服务以使更改生效:
```
sudo service mysqld restart
```
3. 现在我们可以使用空密码登录到MySQL数据库:
```
mysql -u root -p
```
在提示输入密码时,直接按Enter键即可。
4. 登录后,我们需要更新权限以确保所有更改生效:
```
flush privileges;
```
5. 接下来,我们将修改root用户的密码。使用以下命令将“新密码”替换为您想要设置的新密码:
```
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
```
6. 修改密码后,退出MySQL提示符:
```
quit;
```
7. 最后,我们需要删除MySQL配置文件中添加的'skip-grant-tables'行。使用以下命令编辑MySQL配置文件:
```
sudo vim /etc/my.cnf
```
在编辑器中找到并删除添加的'skip-grant-tables'行。
8. 保存并退出编辑器。
9. 最后,重新启动MySQL服务。
现在您应该能够使用新设置的密码以root用户身份成功登录到MySQL数据库了。
阅读全文