无法让 MYSQL 从外部可见

无法让 MYSQL 从外部可见

我知道有很多关于此主题的主题,但我已经全部阅读完毕,仍然无法从外部访问 MYSQL...如能得到任何帮助我将不胜感激

我正在使用 Centos 6.7。

这是我的 /etc/my.cnf:

绑定地址 = 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: 在此处输入图片描述

答案1

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

这几乎肯定是你的问题。 CentOS 的默认防火墙会将该规则放入 DROP all 规则之后的 INPUT 链中。 这意味着该规则永远不会被执行。

使用iptables -I INPUT ...它在链的开头插入一条规则就可以了。

答案2

nmap它,你会看到哪些端口是打开的。ping没什么可说的。

答案3

运行以下命令从所有机器进行访问。

 mysql> GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;

相关内容