数据库无法通过公共IP连接

时间:2017-01-03 10:30:07

标签: mysql ubuntu

请注意。操作系统是ubuntu 14。*

我对我在MYSQL服务器上的连接感到不满。我尝试通过我的公共IP连接到我的MYSQL服务器内部。但我无法连接。虽然我可以在连接到localhost时以及在外部连接时进行连接。

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#bind-address           = 127.0.0.1

我评论了bind-adress,这应该将addres绑定到0.0.0.0。我还尝试将bind-adres设置为0.0.0.0。这也行不通。

我的主机文件设置如下:

    127.0.0.1 MY-IP

当我在端口80上telnet到我的公共IP时,没有问题。

 telnet MY-IP 80

我明白了:

 Trying MY-IP...
 Connected to MY-IP.
 Escape character is '^]'.

但是当我在端口3306上尝试这个时,它会继续:

 Trying MY-IP...

我还为我的MYSQL用户授予了所有正确的权限。我可以连接外部和内部。但是我不可能将我的公共IP内部连接起来。

我也尝试使用netstat找到解决方案。

netstat -tln 

给mes

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN
编辑:刚刚禁用了UFW。它仍然无法运作。

ufw status
Status: inactive

EDIT2:mysql是否可能忽略了/ etc / hosts文件?

有人可以帮助我进一步解决问题所在的一些好主意。

1 个答案:

答案 0 :(得分:0)

您应该将绑定地址更改为0.0.0.0然后重新启动mysqld。还要确保没有启用防火墙:

iptables -n -L 

如果有规则,阻止端口3306,删除它们,或者只是使用

禁用firwall
iptables -F

还使用netstat检查服务器是否正在侦听外部IP:

netstat -tupan |grep :3306