今天在云服务器上使用docker
部署mysql 8.0.11
时,遇到了一个诡异的问题,在云服务器的docker
容器内可以连接上mysql,然而在自己电脑上连接mysql时报错:Can‘t connect to MySQL server on localhost (10060)
下面是网上搜寻的几种可能的错误原因,逐个排查:
1.网络不通
这个是首先排查的点,但是我从本地可以ping
通服务器的ip
,所以网络是通的没问题。
2.账户密码错误
账户密码多次确认后也是没问题的
3.防火墙
阿里的服务器开始并没有安装防火墙服务,所以这个也排除
4.安全组
登陆阿里云控制台,3306
端口也是开放了的,没问题
5.主服务器mysql权限
select user,host from mysql.user;
查询了mysql
的用户授权情况,发现设置的是允许任何主机连接(%),所以也不是这个原因。
上网上搜了半天资料,还是没找到有用的解决办法
最后猜一下怎么解决的,我重启了docker服务之后发现就可以成功连接上了。。。
systemctl restart docker