0

所以,几天前,我们的 MySQL 主实例开始阻止我访问除几个数据库之外的所有数据库,但只有在从特定 IP 地址连接时。从任何其他 IP 地址连接时,我可以连接并查看所有数据库,并且在连接到从属实例时,我可以连接并查看所有数据库。无论如何,凭据都是相同的。我从来没有见过这样的事情。

4

3 回答 3

2

要访问所有数据库,您需要以特权用户身份运行这些命令(例如在机器本身上):

grant all privileges on *.* to YOUR_USER_ID@REMOTE_IP_ADDRESS_YOU_WANT_TO_BE_ALLOWED;
flush privileges;

要获取 YOUR_USER_ID@REMOTE_IP_ADDRESS_YOU_WANT_TO_BE_ALLOWED,请运行 select user(); 命令。这将让您知道您是如何访问数据库的,您可以相应地授予权限

于 2012-06-21T14:06:08.860 回答
1

我认为你想要开始探索这个问题是:

http://dev.mysql.com/doc/refman/5.0/en/show-grants.html

show grants for 'user'@'host';
于 2012-06-21T14:01:19.080 回答
1

尝试运行此脚本

全部授予to user@'%' IDENTIFIED BY 'password';

它将允许您从任何 IP 地址和任何机器访问并访问所有数据库。

祝你好运 :)

于 2015-11-22T14:52:46.113 回答