Access denied for user 'root'@'localhost' (using password: YES)linux报错
时间: 2023-07-06 19:40:43 浏览: 49
这个错误通常是由于 MySQL 数据库的用户名或密码不正确导致的。你可以尝试以下方法解决这个问题:
1. 确认 MySQL 数据库的用户名和密码是否正确。在命令行中使用 `mysql -u root -p` 命令登录 MySQL 数据库,输入正确的密码即可。如果密码不正确,可以使用以下命令修改密码:
```bash
sudo mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
FLUSH PRIVILEGES;
```
其中 `new_password` 替换为新的密码即可。
2. 确认 MySQL 数据库的授权信息是否正确。在命令行中使用以下命令查看 MySQL 数据库的授权信息:
```bash
sudo mysql -u root -p
SELECT user, host FROM mysql.user;
```
如果发现用户名或者主机名不正确,可以使用以下命令修改授权信息:
```bash
sudo mysql -u root -p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
其中 `password` 替换为正确的密码即可。
3. 如果以上方法不能解决问题,可以尝试重置 MySQL 数据库的 root 用户密码。可以使用以下命令重置 root 用户密码:
```bash
sudo service mysql stop
sudo mysqld_safe --skip-grant-tables &
mysql -u root
use mysql;
update user set authentication_string=password('new_password') where user='root';
flush privileges;
quit
sudo service mysql start
```
其中 `new_password` 替换为新的密码即可。
希望以上方法能够帮助你解决问题。