Mysql
MySQL“max_allowed_pa cket”錯誤——你如何分析最大數據包大小?
繼續遇到“max_allowed_packet”錯誤消息,這是我剛剛猜到的數據應該是什麼……
我想停止猜測,並知道如何查看數字應該是什麼——而且似乎資訊可能在“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_packet”設置為 100mb。
我不是 100% 確定如何分析 max_allowed_packet 情況。但我知道我已經獲得了一個 ~3 gig 數據庫導出,可以在 100mb 的 max_allowed_packet 大小上導入。我通常做的只是設置任意高,導入數據然後將其設置回1M並重新啟動mysqld。