關於'max_allowed_packet' bytes報錯


最近在騰訊雲服務器(1核4G內存)遇到一個怪事:

玩家回寫數據庫的時候偶爾會報錯:

#08S01Got a packet bigger than 'max_allowed_packet' bytes

Mysql 5.1 遇到的信息包過大問題 用客戶端導入數據的時候,遇到  錯誤代碼: 1153 - Got a packet bigger than 'max_allowed_packet' bytes 終止了數據導入。
當MySQL客戶端或mysqld服務器收到大於max_allowed_packet字節的信息包時,將發出“信息包過大”錯誤,並關閉連接。對於某些客戶端,如果通信信息包過大,在執行查詢期間,可能會遇到“丟失與MySQL服務器的連接”錯誤。
客戶端和服務器均有自己的max_allowed_packet變量,因此,如你打算處理大的信息包,必須增加客戶端和服務器上的該變量。一般情況下,服務器默認max-allowed-packet為1MB
 
我打印了一下我回寫的數據byte_size(Data),也就1918個字節,1k多,怎么會bigger??
show global variables like 'max_allowed_packet';

於是按照網上說的
set global max_allowed_packet = 2*1024*1024;

並且修改了/etc/my.cnf

max_allowed_packet=16M

systemctl restart mariadb.service #重啟MariaDB

然后就不會出現這問題,但是一段時間后又會偶爾出現,最近一直在查找這個問題的原因,懷疑是不是太頻繁操作數據庫的原因,待續。。。
 
 


免責聲明!

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



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