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=4Mmysql サーバを再起動して、再度 max_allowed_packet の値を調べる。
mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)とりあえず、これでオッケーかな。エラーは出なくなった。

新しいコメントの投稿