萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql max_allowed_packet 查詢和修改問題

mysql max_allowed_packet 查詢和修改問題

我今天在使用使用SQLyog工具導出MySQL數據時,當數據量大時,突然提示Error Code:1153 Got a packet bigger than \'max_allowed_packet\' bytes錯誤提示了,後來百度了一下解決辦法,下面分享給各位同學。

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服務器才可以生效。

copyright © 萬盛學電腦網 all rights reserved