阿里云MySQL外网连接connection time out

网络连接错误比较常见的原因是内网地址无法访问、端口权限没配置,前一个好解决,后一个需要检查多个地方的配置。
连接经过: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
mysql-login.png

结果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.阿里云安全组配置

alicloud-security-config.png

接下来再尝试连接应该不成问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容