Railsでアップローダーを作って、バイナリをガシガシlongblobで入れるように設計してたら、突如
Error in ActionControlelr max_allowed_packet なんちゃら
という気持ち悪いのが出た。
これの対処法は、
/etc/my.cnfの
$ sudo vi /etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M ←コレ
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M ←コレ
のmax_allowed_packetをデフォルトの1Mから、適当な値に変える。
$ sudo vi /etc/my.cnf
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
#max_allowed_packet = 1M
max_allowed_packet = 30M ←コレ
[mysqld]
port = 3306
socket = /tmp/mysql.sock
skip-locking
key_buffer = 16M
#max_allowed_packet = 1M
max_allowed_packet = 30M ←コレ
これで、mysqldを再起動で指定したサイズまではいけるようになる。
ただ、longblobで持たせるのが間違っている気がしないでもないけど、動いたからヨシ。