Mysql

MySQL“max_allowed_pa cket”錯誤——你如何分析最大數據包大小?

  • March 4, 2011

繼續遇到“max_allowed_pa​​cket”錯誤消息,這是我剛剛猜到的數據應該是什麼……

我想停止猜測,並知道如何查看數字應該是什麼——而且似乎資訊可能在“Data_length”列的數據庫表資訊中。

這是正確的,如果是這樣,我如何計算要在 MySQL 配置中輸入的值以避免在我得到它之前出現錯誤。

(如果重要的話,我會在數據庫恢復時不斷收到這些錯誤。)

問題、回饋、請求——只是評論,謝謝!!


附加資訊:數據庫是 INNOdb,而不是 MyISAM。


更新(1):

為了找到一種方法來對“max_packet”進行基準測試,我做了以下操作,執行了恢復,得到了導致錯誤的行號的錯誤,將該行轉儲到一個文本文件中以測量文件大小。

錯誤:

ERROR 1153 (09S01) at line 2742: Got a packet bigger than "max_allowed_packet" bytes

SED 程式碼:

sed 'INSERTLINENUMBERq;d' INSERTDATABASEDUMPFILENAME.sql > INSERTLINENUMBER.txt

**問題是……**那條線只有 8mb,“max_allowed_pa​​cket”設置為 100mb。

我不是 100% 確定如何分析 max_allowed_pa​​cket 情況。但我知道我已經獲得了一個 ~3 gig 數據庫導出,可以在 100mb 的 max_allowed_pa​​cket 大小上導入。我通常做的只是設置任意高,導入數據然後將其設置回1M並重新啟動mysqld。

引用自:https://serverfault.com/questions/243247