mysql遠程連接丟失問題的解決

最近服務器很不穩定,於是重裝了mysql 和php 服務,但是接着卻遇到了很頭疼的麻煩。

 遠程連接mysql是總是提示:



 代碼如下:


Lost connection to MySQL server at ‘reading initial communication packet', system error: 0



很明顯這是連接初始化階段就丟失了連接的錯誤。

google半天大多是說的註釋掉配置文件中 bind-address = 127.0.0.1 這一句。

 但是我的配置文件並沒有配置這一句,各種搜索均未果。今天偶然在網上看到一個遇到同樣問題的人貼出的配置,發現他多了一句配置 skip-name-resolve,抱着試試看的態度改了一下並重啓了mysql服務,果然遠程一下子就連接上了,真是無語。

 其實問題很簡單,都是MySQL的配置文件默認沒有爲遠程連接配置好,只需要更改下MySQL的配置文件即可。

 具體的解決步驟如下,希望能幫助遇到同樣問題的同學們:

 找到並修改my.cnf文件。在不同的Linux系統下,my.cnf放在不同的位置。這裏以Ubuntu Server做示例,其他系統請根據情況自行找到my.cnf的路徑。一般只會存放在/etc/my.cnf或者/etc/mysql/my.cnf下。

 首先用vim打開my.cnf:


代碼如下:



vim /etc/mysql/my.cnf




看看是否有綁定本地迴環地址的配置,如果有,註釋掉下面這段文字:(在文字之前加上#號即可)



代碼如下:



bind-address = 127.0.0.1




然後找到[mysqld]部分的參數,在配置後面建立一個新行,添加下面這個參數:

skip-name-resolve

保存文件並重啓MySQL:



複製代碼 代碼如下:


/etc/init.d/mysql restart


這樣就會發現,問題已經解決了!遠程連接不會丟失了。


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