MySQL で Got a packet bigger than 'max_allowed_packet' bytes エラーが発生した

Drupal で色々やってたらエラーが表示されるようになった。
どんなエラーかというと、 **Got a packet bigger than 'max_allowed_packet' bytes** というやつ。

Session データを書き込もうとしていたみたいなんだけど、MySQL があまり長い SQLを受け付けない設定になっていたみたいではじかれてた。

まずは、 **max_allowed_packet** の値を見てみる。

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 1048576 |
+--------------------+---------+
1 row in set (0.00 sec)

1MByte (1024 * 1024 = 1048576) が設定されているようだ。これで少ないと言っているので、 4MByte ぐらいに増やしてみる。
うちのサーバは、FreeBSD で MySQL は ports でインストールしているので、/usr/local/etc/my.cnfファイルを変更する。

# vi my.cnf

ファイルの中に以下の内容を追加し、ファイルを保存する。

[mysqld]
max_allowed_packet=4M

mysql サーバを再起動して、再度 **max_allowed_packet** の値を調べる。

mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name      | Value   |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)

とりあえず、これでオッケーかな。エラーは出なくなった。

新しいコメントの投稿

このフィールドの内容は非公開にされ、公表されることはありません。
  • HTMLタグは使用できません
  • 行と段落は自動的に折り返されます。

書式オプションに関するより詳しい情報...

CAPTCHA
この質問はあなたが人間であるかどうかについて調べる為と、自動化したスパムを防ぐ為のものです。うまくいかない場合は電子メールでお問い合わせ下さい。
イメージ CAPTCHA
画像の中に見える文字を入力して下さい