我有一个在xxxx上运行的mysql服务器,并且可以在内部访问它没问题(当然).但是,当尝试连接外部,即使用mysql工作台,甚至从外部服务器,我得到错误消息"主机'bla.bla.bla'不允许连接到这个MySQL服务器".
我已经做好了:
GRANT ALL PRIVILEGES ON *.* TO mysql@x.x.x.x IDENTIFIED BY "somepass";
我在iptables中打开了端口3306.
我还缺少另一个基本的安全问题吗?
你需要这样做
GRANT ALL PRIVILEGES ON *.* TO mysql@'bla.bla.bla' ...
后面的部分@
是连接来自的主机,因此您只允许来自localhost的连接.您需要允许从必需的每个远程主机(或所有主机... mysql@'%' ...
- 如果适用)进行访问.
要解决此问题,您需要执行以下命令:
mysql -u root -p [enter in your password] CREATE USER 'mysqluser'@'%' IDENTIFIED BY 'aC0MPL3XPa33W0RD'; GRANT ALL PRIVILEGES ON *.* TO 'mysqluser'@'%' WITH GRANT OPTION;