经过数小时的试错和阅读我能找到的关于这个主题的每一篇帖子,我无法让它发挥作用。
我想添加一个只读远程用户。我的r/w用户已经工作了。
我基本上有:
Host User Password SelectPriv InsertPriv ...
% RW x Y Y ...
% RO y Y N ...
我还检查了他们有相同的GRANT(除了用户RO只有SELECT(。。
然后我发出flush-privs命令,它就完成了。
我去了远程节点,用户RW登录。一切都很好,有mysql -h host -uRW -p
然后我使用完全相同的命令,只是将RW更改为RO。我得到相同的密码提示,输入我用来创建用户的密码,上面写着用户的ACCESS DENIED。。。。
我有一个本地版本的"RO",密码相同。我在密码栏中确认,它们匹配。
它在本地盒子上登录并进行身份验证。在远程上,访问被拒绝。。
我还访问了/var/log并跟踪了每一个最近更改的日志。似乎没有为此故障添加任何条目。
请提出建议!
。。。让你走的东西嗯。
现在我正在与PRIVed用户连接,因为RO用户无法工作。不太好,但它就是这样…
RO和RW用户都有另一行-每个用户都有";localhost";在";主机";柱
(错误消息中的实际主机名已更改(
准确的错误是:
错误1045:(28000(:用户'RO'@'remote.com'的访问被拒绝(使用密码:YES(
TYVM提供协助。
我又进行了一次测试,这似乎有点奇怪。我设置了一个新用户,主机="%"。我在尝试远程登录时遇到了同样的错误。但我可以在本地主机上登录该帐户。即使它没有localhost行。
这看起来对吗?我以为%host适用于除本地主机之外的所有主机?
刚刚写了一个Perl脚本。我可以使用PerlDBI从远程主机连接到RO用户。
这太奇怪了!