网络连接错误比较常见的原因是内网地址无法访问、端口权限没配置,前一个好解决,后一个需要检查多个地方的配置。
连接经过:client -> 阿里云(安全组配置)-> 防火墙 -> MySQL;
要解决问题,需要挨个检查。
1.进入服务器登录
host#:mysql -u root -p -h 127.0.0.1 # localhost
host#:mysql -u root -p -h 102.14.20.137 # 假设是公网IP
结果localhost是没问题,而公网IP连接超时(与本地telnet测试相同)
2.MySQL访问权限配置
MySQL[(none)]>use mysql;
MySQL[(none)]>grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
MySQL[(none)]>flush privileges;
3. 检查MySQL配置 bind-address
host#:sudo vim /etc/my.cnf #(centos)
host#:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf ( ubuntu )
...
bind-address = 127.0.0.1 # 改成 bind-address = 0.0.0.0
...
host#:service mysqld restart #改完重启
host#:netstat -antpl | grep 3306 # 检查是否仅监听127.0.0.1
4.centos 6 iptables配置
host#:vim /etc/sysconfig/iptables #添加如下语句:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
host#:/etc/init.d/iptables restart #重启防火墙
5.阿里云安全组配置
接下来再尝试连接应该不成问题。