从外部主机/ IP访问mysql数据库?(即:mysql工作台)

Jon*_*Jon 9 mysql linux centos iptables mysql-workbench

我有一个在xxxx上运行的mysql服务器,并且可以在内部访问它没问题(当然).但是,当尝试连接外部,即使用mysql工作台,甚至从外部服务器,我得到错误消息"主机'bla.bla.bla'不允许连接到这个MySQL服务器".

我已经做好了:

  • GRANT ALL PRIVILEGES ON *.* TO mysql@x.x.x.x IDENTIFIED BY "somepass";
  • 我在iptables中打开了端口3306.

我还缺少另一个基本的安全问题吗?

And*_*ico 14

你需要这样做

GRANT ALL PRIVILEGES ON *.* TO mysql@'bla.bla.bla' ...
Run Code Online (Sandbox Code Playgroud)

后面的部分@是连接来自的主机,因此您只允许来自localhost的连接.您需要允许从必需的每个远程主机(或所有主机... mysql@'%' ...- 如果适用)进行访问.


Ahm*_*mad 8

要解决此问题,您需要执行以下命令:

mysql -u root -p
[enter in your password]
CREATE USER 'mysqluser'@'%' IDENTIFIED BY 'aC0MPL3XPa33W0RD';
GRANT ALL PRIVILEGES ON *.* TO 'mysqluser'@'%' WITH GRANT OPTION;
Run Code Online (Sandbox Code Playgroud)