我知道有很多这方面的话题,但我已经阅读了所有的内容,仍然无法从外部访问MYSQL …任何帮助将会
我正在使用Centos 6.7。
这是我的/etc/my.cnf:
bind-address = 0.0.0.0
这是我添加到iptables和后来保存的行:
sudo iptables -A INPUT -i eth0 -p tcp -m tcp –dport 3306 -j ACCEPT
重新启动mysql和我能想到的一切。 还刷新MYSQL权限。 这是mysql.user表的捕获:
据说任何帮助是值得欢迎的,我花了太多时间在这个…
编辑1:MYSQL虚拟机是可见的,并可用于试图连接到它的计算机:
编辑2:
sudo iptables -A INPUT -i eth0 -p tcp -m tcp –dport 3306 -j ACCEPT
这几乎肯定是你的问题。 CentOS的默认防火墙会将该规则放入DROP all规则之后的INPUT链中。 这意味着规则从来没有被采取行动。
使用iptables -I INPUT ...将一个规则插入到你的链的开始,你应该很好去。
nmap它,你会看到什么端口打开。 ping不说太多。
像下面那样运行一个命令来从所有机器上访问。
mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;