大きなデータを詰め込もうとしたらGot a packet bigger than ‘max_allowed_packet’ bytesというエラーで弾かれたのでメモ。
デフォルトでは1MBとなっている。設定されている値はmysql変数(?)から読み取ることが出来る。
mysql> show variables like 'max_allowed_packet'; +--------------------+---------+ | Variable_name | Value | +--------------------+---------+ | max_allowed_packet | 1048576 | +--------------------+---------+
my.cnf内のmysqldセクションにmax_allowed_packetを書くと上書きできる。
[mysqld] max_allowed_packet=16MB
mysqldを再起動した後に設定値を確認してみる。
mysql> show variables like 'max_allowed_packet'; +--------------------+----------+ | Variable_name | Value | +--------------------+----------+ | max_allowed_packet | 16777216 | +--------------------+----------+ 1 row in set (0.00 sec)
やったね。
[ad#text_wide]