Can't connect to MySQL server on .....(10038)——奇怪的防火墙

正经学徒,佛系记录,不搞事情

使用客户端远程Linux系统的mysql数据库时,大部分人都会遇到这个问题

排除掉mysql服务本身的权限设置外,基本都会把问题定位在防火墙上,没有开放3306或者自定义的mysql端口

防火墙命令:

#启动防火墙
service iptables start
#关闭防火墙
service iptables stop
#查看防火墙列表
iptables -nL

通过查看防火墙列表的命令可以看到当前开放的端口,此时增加3306端口

vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

重启服务在查看防火墙列表,发现已经显示了3306端口,再去客户端测试连不连得上

这时候头疼了,因为还是一样的提示,却不知道是什么原因

最终的解决方案是:将开放3306端口的代码放到开放22端口代码的后面,再重启防火墙就可以连接了

具体原因不详,如果代码是放在最后,则会出现类似配置无效的现象