「ERROR 1153 (08S01) at line XXXX: Got a packet bigger than ‘max_allowed_packet’ bytes」の対処法

「ERROR 1153 (08S01) at line XXXX: Got a packet bigger than ‘max_allowed_packet’ bytes」
このエラーが意味するところは、「SQL文のサイズがでかすぎて実行できねー!」ってことなので、
max_allowed_packetをでっかくしてあげればよし。

mysql> show @@global.max_allowed_packet, @@max_allowed_packet;

で現在の値を確認。
多分、デフォルトは1048576。
64Mにするときは、

mysql> set max_allowed_packet=64000000;
mysql> set global max_allowed_packet=64000000;

として、SESSION、GLOBALの値をともに変更する。
ちなみに、

mysql> set max_allowed_packet=64M;
mysql> set global max_allowed_packet=64M;

だとエラーが出た。本によってはこの書式でもOKって書いてあるのにな。
謎。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です