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タグは使用できません
  • 行と段落は自動的に折り返されます。

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