Access denied for user 'root'@'10.72.20.146' (using password: YES)怎么解决
时间: 2023-11-23 09:58:06 浏览: 346
当出现Access denied for user 'root'@'10.72.20.146' (using password: YES)错误时,可以尝试以下解决方法:
1. 确认用户名和密码是否正确,可以使用以下命令登录mysql并检查用户信息:
```shell
mysql -u root -p
SELECT user,authentication_string,plugin,host FROM mysql.user;
```
2. 确认用户是否具有从远程主机连接到MySQL服务器的权限,可以使用以下命令授权:
```shell
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
```
其中,'root'为用户名,'%'表示所有远程主机,'password'为密码。
3. 确认防火墙是否允许远程连接MySQL服务器,可以使用以下命令开放3306端口:
```shell
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
```
如果使用的是其他防火墙软件,请参考相应的文档进行设置。
4. 确认MySQL服务器是否监听所有IP地址,可以使用以下命令检查:
```shell
netstat -an | grep 3306
```
如果结果中没有0.0.0.0:3306,则需要修改MySQL配置文件/etc/my.cnf,将bind-address设置为0.0.0.0。
```shell
[mysqld]
bind-address=0.0.0.0
```
修改后需要重启MySQL服务。
阅读全文