Navicat中導(dǎo)入sql文件提示MySQL server has gone away錯誤怎么辦
在navicat中導(dǎo)入sql文件時出現(xiàn)MySQL server has gone away錯誤一般是sql語句太大導(dǎo)致的。

解決辦法如下:
打開navicat的菜單中的tools,選擇server monitor,然后在左列選擇數(shù)據(jù)庫,右列則點(diǎn)選variable表單項(xiàng),尋找max_allowed_packet,將其值改大,保存。

改好之后,再次導(dǎo)入備份的sql文件,一切正常。
如果還是無法解決,可以修改mysql的配置文件,找到mysql目錄下的my.ini配置文件,加入以下代碼:
max_allowed_packet=500M
wait_timeout=288000
interactive_timeout = 288000
根據(jù)需要更改數(shù)值,最后記得重啟mysql服務(wù)。
說明:max_allowed_packet是mysql允許最大的數(shù)據(jù)包,也就是你發(fā)送的請求; wait_timeout是等待的最長時間,這個值大家可以自定義,但如果時間太短的話,超時后就會現(xiàn)了MySQL server has gone away #2006錯誤。max_allowed_packet參數(shù)的作用是,用來控制其通信緩沖區(qū)的最大長度。如果沒有修改myql權(quán)限我們可以在PHP程序里面,如果php.ini修改起來不方便,可以以下代碼來嘗試解決。
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);
在ini_set后,可以用ini_get來驗(yàn)證參數(shù)設(shè)置適合符合預(yù)期。