Mysql2::Error: Got a packet bigger than 'max_allowed_packet' bytes

Post date: 2013/02/02 22:15:34

Error while restoring Section4303: Mysql2::Error: Got a packet bigger than 'max_allowed_packet' bytes: IN\

SERT INTO `sections` (`name`, `created_at`, `model_library_id`, `versioned`, `updated_at`, `latest_versio\

n`, `lock_version`, `current_version`, `description`, `commits`) VALUES('core', '2012-11-12 12:34:52', 46\

3, 1, '2012-11-12 12:55:39', NULL, 0, '4c6fc0f7f319831ab2264a3b04a15b31e4932e0d', 'section core\n// \npar\

ameters zzmbn12s_rev=2.52\nparameters zzmbn12s_rev_b=0\nparameters zzmbp12s_rev=2.52\nparameters zzmbp12s\

_rev_b=0\n//\n//

上記のエラーが出たので対策した。max_allowed_packetのサイズのデフォルトが1Mと小さかったのが原因なので

128Mに変更した。CentOS 6の場合、/etc/my.cnfの[mysqld]に以下を記述。

max_allowed_packet = 128M

mysqlを再起動し、mysql -u rootし、show variables like 'max%'; で確認したところ、以下に変更確認できた。

mysql> show variables like 'max%';

+----------------------------+----------------------+

| Variable_name | Value |

+----------------------------+----------------------+

| max_allowed_packet | 134217728 |