天天看點

mysql測試連接配接失敗_MySQL docker 遠端無法連接配接錯誤排查

現象

用 docker 起了一個 MySQL 資料庫用作測試,環境起好了,遠端連接配接時發現連接配接失敗。

MySQL container正常運作,docker端口已暴露,兩台伺服器之間互相ping得通

錯誤排查

Step 1. Telnet

使用 telnet 測試遠端ip及端口能否正常通信:telnet 10.23.*.*  3306

得到結果:Trying 10.23.*.*  ...

telnet: connect to address 10.23.*.*: Operation timed out

telnet: Unable to connect to remote host

結論: 遠端ip及端口通信失敗

Step 2. 檢查伺服器本地防火牆systemctl  status firewalld

得到結果,防火牆已關閉。

若為防火牆原因,可關閉防火牆後嘗試: systemctl  stop firewalld

Step 3. 檢查本地端口監聽

使用netstat檢查本地端口監聽情況netstat -nlt  | grep 3306

得到結果:

mysql測試連接配接失敗_MySQL docker 遠端無法連接配接錯誤排查

端口已監聽,使用IPv6

Step 4. 檢查本地Ipv6設定

檢查本地IPv6設定:sysctl net.ipv6.conf.all.forwarding

得到結果:net.ipv6.conf.all.forwarding = 0

修改 IPv6 設定:sysctl net.ipv6.conf.all.forwarding=1

重新開機docker服務systemctl restart docker

Step 5. 重新測試連接配接

連接配接成功