在过去的几天里,我尝试了很多方法来解决Can't connect to MySQL server问题。我想描述一下我迄今所做的一切。
/etc/my.cnf中绑定0.0.0.0。在做完所有这些工作之后,我在我的应用程序中获得了Can't connect to MySQL server on '198.211.37.xx'。
在这个问题上,我急需专家的建议。
发布于 2015-04-27 14:22:06
我会亲自删除所有iptable的配置,然后重新启动,使用这份文件作为参考。
为了提供良好的实践,我将操作一个“默认拒绝”规则,并显式地允许要运行的服务的连接(例如,SSH和MySQL的端口22和3306 )。根据本指南 (请记住,您的系统可能需要修改命令):
首先,刷新所有现有规则:
iptables -F
iptables -X然后,为INPUT、OUTPUT和FORWARD链添加默认策略,并允许回送连接--注意默认情况下这将允许所有出站访问:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -i lo -j ACCEPT允许SSH (用服务器的公共IP替换<SERVER_IP> ):
iptables -A INPUT -p tcp -s 0.0.0.0/0 -d <SERVER_IP> --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT允许MySQL (用您想要白名单MySQL访问的IP地址替换<OTHER_SERVER_IP> -我强烈建议您这样做,以避免您的MySQL端口是世界可见的)。对于希望公开访问的所有端口,您可以重复下面的命令:
iptables -A INPUT -p tcp -s <OTHER_SERVER_IP> -d <SERVER_IP> --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT最后,删除所有其他入站流量:
iptables -A INPUT -j DROPhttps://serverfault.com/questions/685868
复制相似问题