今天在云服務器上使用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