代码改变世界

阿里云服务器使用docker安装的mysql,外网无法连接的问题排查

2022-06-11 17:05  话猫  阅读(2741)  评论(0编辑  收藏  举报

  最近新买了一个阿里云服务器,用docker安装了mysql,外网死活连接不上我的mysql,最终经过一顿猛百度查问题,找出问题根源。对这次查问题过程中出现的问题也有一些心得,也小小记录一下复盘总结。

1. 首先登陆你的服务器,查看是否启动了mysql进程,端口是否在监听状态

ps -ef | grep mysql

由此可以看出mysql进程是不是正常的

netstat -antpl | grep 3306

 

 上述可以看到端口处于监听状态

如果端口没有处于监听状态,要查看安装的mysql是否有问题,https://www.cnblogs.com/chcha1/p/16354225.html

2.如果mysql正常,那么登陆到mysql中,回顾之前的文章中的命令

https://www.cnblogs.com/chcha1/p/16354225.html

看下账号密码是否可以正常的登陆到机器的mysql,是否给用户授权外网登陆

3.如果账号密码没有问题,那么看下外网是否可以ping通你的机器的3306(mysql安装的端口)

telnet 127.0.0.1 3306

如果是mac电脑可以在终端输入 nc -vz -w 2 39.103.193.146 3306  测试Mac电脑 远程服务端口是否通

4.如果端口不通,则说明阿里云服务器有防火墙,需要开放机器的端口,供外网访问

登陆阿里云服务器,进入云服务器,点击安全组配置

 

 

 进入到安全组配置后,点击配置规则

 

 

加入一条规则,配置端口3306,此时便完成了端口的对外开放

 

ps:总结复盘

在遇到外网无法访问时,查问题没有方向,先一遍一遍的删除容器,重建容器,

创建mysql的用户,授权,重复操作

其实这样的处理问题的过程,映射出我平时处理问题时也是没有方向的,试试这样行不行,试试那样行不行,没有经过思考问题产生的可能原因都有哪些,然后一步一步的去验证是那个环节出的问题,

经过验证,去掉一些没有问题的环节,剩下的就距离真相不远了。