MySQL无法连接到远程服务器。始终恢复为本地服务器的IP

时间:2016-01-11 13:20:25

标签: mysql

服务器1 - 11.22.33.44

服务器2 - 99.88.77.66

我试图将MySQL从服务器1连接到服务器2,但是当我这样做时,它似乎将连接IP还原到它自己的服务器,其中用户的详细信息明显不正确,因此它失败了。

Connected to Server 1 (11.22.33.44)

$ mysql -u root -p -h 99.88.77.66
ERROR 1045 (28000): Access denied for user 'root'@'11.22.33.44' (using password: YES)

它并没有尝试连接到99.88.77.66。在两台服务器上都有一个防火墙规则,允许连接到两台服务器。

2 个答案:

答案 0 :(得分:0)

您混淆了用于进行身份验证的目标主机。

"访问被拒绝用户xxx @ target-host"。

它不是关于连接,而是连接到哪个服务器(-name)进行身份验证。该技术通过在不同网络中分离用户来增加另一层安全性。

%用作通配符和任何目标主机"。请参阅mysql / users表。

以下不是服务器,例如:

root@localhost
root@127.0.0.1
root@%

你的mysql / users表中需要root@11.22.33.44root@%(不推荐!)才能连接。

答案 1 :(得分:0)

连接到mysql,通过此命令使用mysql数据库

use mysql;

检查用户

select * from user;

并查看用户root是否有权访问%

Yon通过以下命令为app创建单独的用户:

create user user_name@'%' identified by 'password'

在数据库表上授予该用户的所有权限

  grant all on database.* to 'user_name'@'%'

不要忘记刷新权限

 flush privileges