服务器1 - 11.22.33.44
服务器2 -99.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。在这两个服务器上都有允许连接到两个服务器的防火墙规则。
发布于 2016-01-11 13:23:35
您混淆了用于身份验证的目标主机。
“拒绝用户xxx@target-host的访问”。
这不是关于连接,而是您连接到哪个服务器(-name)来进行身份验证。这种技术通过将不同网络中的用户分隔开来,增加了另一层安全性。
%
被用作通配符,意思是“任何目标主机”。请参阅mysql/users表。
例如,以下不是服务器:
root@localhost
root@127.0.0.1
root@%
您需要root@11.22.33.44
或root@%
(不推荐!)在mysql/users表中,以便能够连接。
发布于 2016-01-11 13:34:00
连接到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
https://stackoverflow.com/questions/34722612
复制相似问题