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