[root@VM-0-2-centos MySql]# mysql -u root ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
时间: 2024-03-17 22:39:13 浏览: 18
这个错误提示是因为您在使用mysql命令时没有指定密码。默认情况下,mysql命令需要提供密码才能登录到MySQL数据库。您可以尝试以下两种方法解决这个问题:
1. 使用密码登录:在mysql命令后面加上-p参数,并在后面输入密码。例如:
```
mysql -u root -p
```
然后按回车键后,系统会提示您输入密码,输入正确的密码即可登录。
2. 如果您忘记了MySQL的root用户密码,可以通过以下步骤重置密码:
- 停止MySQL服务:可以使用以下命令停止MySQL服务:
```
sudo systemctl stop mysql
```
- 启动MySQL服务并跳过权限验证:使用以下命令启动MySQL服务,并跳过权限验证:
```
sudo mysqld_safe --skip-grant-tables &
```
- 连接到MySQL服务器:使用以下命令连接到MySQL服务器:
```
mysql -u root
```
- 更新root用户密码:在MySQL命令行中执行以下SQL语句来更新root用户的密码:
```
UPDATE mysql.user SET authentication_string=PASSWORD('新密码') WHERE User='root';
FLUSH PRIVILEGES;
```
将上述命令中的'新密码'替换为您想要设置的新密码。
- 退出MySQL命令行:执行以下命令退出MySQL命令行:
```
exit;
```
- 重启MySQL服务:使用以下命令重启MySQL服务:
```
sudo systemctl restart mysql
```
希望以上解决方案能够帮助到您!如果您有任何其他问题,请随时提问。