登陆mysql报错ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
时间: 2023-11-21 19:56:04 浏览: 152
当你在尝试使用root用户登录MySQL时,如果出现“ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)”这个错误,这通常意味着你输入的密码不正确或者root用户没有被授权从本地主机登录MySQL。以下是一些可能的解决方法:
1. 确认你输入的密码是否正确。如果你不确定密码是否正确,可以尝试重置密码。
2. 确认root用户是否被授权从本地主机登录MySQL。你可以通过以下命令检查:
```mysql
SELECT user,authentication_string,plugin,host FROM mysql.user;
```
如果root用户的Host列不是“localhost”,那么它可能没有被授权从本地主机登录MySQL。你可以使用以下命令为root用户添加本地登录权限:
```mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
```
注意:这里的“password”应该替换为你想要设置的密码。
3. 如果你仍然无法登录MySQL,你可以尝试重置root用户的密码。以下是一些可能的方法:
- 如果你有root用户的sudo权限,你可以使用以下命令重置密码:
```shell
sudo mysql_secure_installation
```
然后按照提示操作即可。
- 如果你没有root用户的sudo权限,你可以尝试使用以下命令重置密码:
```shell
sudo /etc/init.d/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 /etc/init.d/mysql start
```
注意:这里的“new-password”应该替换为你想要设置的新密码。
阅读全文