在 MySQL 5.5 中,max_allowed_packet 預設僅 1 MB,當插入 LONGBLOB 或大量文字資料時,常遇到:
com.mysql.jdbc.PacketTooBigException: Packet for query is too large (2054817 > 1048576).
You can change this value on the server by setting the max_allowed_packet variable.
務必在 [mysqld] 區塊下設定,不要 放在 [client] 或 [mysql],否則無效:
[mysqld]
max_allowed_packet = 1024M
my.cnf / my.ini 後重啟 MySQL 服務。SET GLOBAL max_allowed_packet = 1073741824;(單位為 Bytes)。SHOW VARIABLES LIKE 'max_allowed_packet';
JDBC 連線字串可加參數:?maxAllowedPacket=1073741824;
mysqldump 匯出時加 --max_allowed_packet=1G。