Error Code:1153 Got a packet bigger than 'max_allowed_packet' bytes錯誤提示。
開始沒注意,提示一大堆,後來才看見這句
使用SQLyog工具導出MySQL數據時,當數據量大時,導出不會錯誤,但導入時會出現錯誤。如果將SQL單獨執行會發現是Error Code:1153 Got a packet bigger than 'max_allowed_packet' bytes錯誤。
對於這個問題可以在my.ini中最後增加一行max_allowed_packet=16M即可(根據實際情況設置)。
這裡我們把具體的解決辦法介紹
mysql根據配置文件會限制server接受的數據包大小。
有時候大的插入和更新會被max_allowed_packet 參數限制掉,導致失敗。
查看目前配置
show VARIABLES like '%max_allowed_packet%';顯示的結果為:
+--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+
以上說明目前的配置是:1M
修改方法
1) 方法1
可以編輯my.cnf來修改(windows下my.ini),在[mysqld]段或者mysql的server配置段進行修改。
max_allowed_packet = 20M如果找不到my.cnf可以通過
mysql --help | grep my.cnf去尋找my.cnf文件。
2) 方法2
進入mysql server
在mysql 命令行中運行
set global max_allowed_packet = 2*1024*1024*10然後關閉掉這此mysql server鏈接,再進入。
show VARIABLES like '%max_allowed_packet%';查看下max_allowed_packet是否編輯成功
注意:不管你是在什麼操作系統,設置之後我們需重啟mysql服務器才可以生效。