MySQL導入sql文件,過大導致錯誤


--導入sql腳本文件,報錯:

Navicat 導入數據報錯 --- 1153 - Got a packet bigger than 'max_allowed_packet' bytes
2006 - MySQL server has gone away

--原因

查了一下,原來是MySQL默認讀取執行的SQL文件最大為16M

--解決辦法

今天從MySQL導入sql文件的時候發現出現錯誤,查看日志發現報2006 - MySQL server has gone away 錯誤,出現這個的原因一般是傳送的數據過大,解決的辦法是:

查看通信緩沖區的最大長度:

show global variables like 'max_allowed_packet';

默認最大是1M,可以修改通信緩沖區的最大長度,修改為16M:

set global max_allowed_packet=1024*1024*400;

接下來重新導入,導入成功!

注:修改只對當前有效, 重啟了MySQL他就還是會恢復原來的大小。如果是想永久生效,可以修改配置文件,在my.ini(windows下)或者my.cnf(linux下)加入或修改配置:

max_allowed_packet = 16M
重啟MySQL服務...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM