最近服務器很不穩定,因而重裝了mysql 和php 服務,可是接着卻遇到了很頭疼的麻煩。php
遠程鏈接mysql是老是提示:mysql
代碼以下:sql
Lost connection to MySQL server at ‘reading initial communication packet', system error: 0vim
很明顯這是鏈接初始化階段就丟失了鏈接的錯誤。服務器
google半天大可能是說的註釋掉配置文件中 bind-address = 127.0.0.1 這一句。ide
可是個人配置文件並無配置這一句,各類搜索均未果。今天偶然在網上看到一個遇到一樣問題的人貼出的配置,發現他多了一句配置 skip-name-resolve,抱着試試看的態度改了一下並重啓了mysql服務,果真遠程一會兒就鏈接上了,真是無語。google
其實問題很簡單,都是MySQL的配置文件默認沒有爲遠程鏈接配置好,只須要更改下MySQL的配置文件便可。rest
具體的解決步驟以下,但願能幫助遇到一樣問題的同窗們:server
找到並修改my.cnf文件。在不一樣的Linux系統下,my.cnf放在不一樣的位置。這裏以Ubuntu Server作示例,其餘系統請根據狀況自行找到my.cnf的路徑。通常只會存放在/etc/my.cnf或者/etc/mysql/my.cnf下。ip
首先用vim打開my.cnf:
代碼以下:
vim /etc/mysql/my.cnf
看看是否有綁定本地迴環地址的配置,若是有,註釋掉下面這段文字:(在文字以前加上#號便可)
代碼以下:
bind-address = 127.0.0.1
而後找到[mysqld]部分的參數,在配置後面創建一個新行,添加下面這個參數:
skip-name-resolve
保存文件並重啓MySQL:
複製代碼 代碼以下:
/etc/init.d/mysql restart
這樣就會發現,問題已經解決了!遠程鏈接不會丟失了。