最近在用阿里云,通过本地始终没有办法连接到云里桩的centos上面的MysqL 3306端口,
网上的方法很全但是也没有解决问题,特把解决的方法总结如下,方便后面使用
一:关闭防火墙 service iptables stop 看看3306端口是不是能telnet
telnet 地址 3306
二:如果不通的情况下,在虚拟机里面看看 3306端口有没有被开启,没有开的情况先打开数据库
netstat -anp |grep 3306
三:3306存在的情况,但是显示tcp6 。。。。。。 需要修改配置文件/etc/my.cnf
四:/etc/my.cnf 配置文件不存在 需要拷贝 并且改名字
cp /etc/my-default.cnf /etc/
mv /etc/my-default.cnf /etc/my.cnf
bind-address = 0.0.0.0
这个时候重启服务,此时数据库的3306 应该能telnet 并且可以连上了
防火墙的开启
一定要这么加 放在结尾是无效的
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT