遇見Lost connection to MySQL server at 'reading initial communication packet',system error:0的解決辦法

今天用Navicat for MySQL 連接遠程服務器,發現出現這個問題,仔細檢查了一遍連接屬性發現沒有什麼問題。我先發出我的連接屬性。


上圖是ssh的連接屬性,ip地址爲遠程服務器的ip地址,用戶名和密碼是ssh登錄遠程服務器的用戶名和密碼。


這是我最初的連接屬性,ip同樣爲遠程服務器ip,mysql默認端口3306,用戶名和密碼爲mysql的登錄密碼。

那麼問題來了,一切正常爲什麼連接不上呢。用了網上的各種方法,什麼註釋bind-address,修改my.cnf裏面的配置,發現都不適用。

經排查發現,我連接的遠程服務器的端口不是默認的22,爲43334。這裏就出現問題了。發現該服務器的端口是經過haproxy轉發而來,並不是服務器最初始的端口。於是找到該服務器的宿主機,ssh連接過去,打開/etc/haproxy/haproxy.cfg 這個文件,如下圖所示,


發現這裏把原本mysql的端口3306修改爲了43306,於是替換掉最初始的常規屬性裏面的mysql端口3306.連接成功


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章