1. 程式人生 > >Got a packet bigger than‘max_allowed_packet’bytes錯誤的解決方法

Got a packet bigger than‘max_allowed_packet’bytes錯誤的解決方法

通常專案上線前都有一些初始化資料需要匯入,在今天部落格系統釋出前我使用sqlyog工具遠端登入伺服器的Mysql資料庫,執行sql指令碼對初始資料進行匯入的時候報錯:
Got a packet bigger than‘max_allowed_packet’bytes

查閱資料發現是由於max_allowed_packet的值設定過小,知道原因就好辦了,只需要將max_allowed_packet值設定大一點就OK了。

通過終端進入mysql控制檯,輸入如下命令可以檢視max_allowed_packet值的大小。
show VARIABLES like ‘%max_allowed_packet%’;


顯示的結果為:
+——————–+———+
| Variable_name | Value |
+——————–+———+
| max_allowed_packet | 1048576 |
+——————–+———+

結果說明目前的配置是:1M
我們需要執行以下命令將max_allowed_packet的值設定大一點
set global max_allowed_packet = 1048576*10;
退出mysql命令列,然後重新登入然後執行命令再次查詢max_allowed_packet變數的值發現已經增大了。
show VARIABLES like ‘%max_allowed_packet%’;

設定完之後,再重新匯入資料,OK,一切正常。

注意,使用這種方法,重啟伺服器之後又恢復預設值了。這裡博主只是導資料的時候臨時將其值設定大一點,導完之後儘量讓其恢復原值,因為max_allowed_packet設定過大可能會導致伺服器太忙來不及接收,網路差的時候也可能會出現丟包的現象。

轉載:
Got a packet bigger than‘max_allowed_packet’bytes錯誤的解決方法