InnoDB: ERROR: the age of the last checkpoint is ~ which exceeds the log group capacity ~
問題
MySQLで、ときどき以下のようなエラーが発生して、ロック状態になるんですけど、大丈夫でしょうか。
120414 2:20:34 InnoDB: ERROR: the age of the last checkpoint is 241588252, InnoDB: which exceeds the log group capacity 241588224. InnoDB: If you are using big BLOB or TEXT rows, you must set the InnoDB: combined size of log files at least 10 times bigger than the InnoDB: largest such row.
答え
innodb_log_file_size が小さいのが原因かもしれません。
- 大きいBLOB もしくは TEXT型のカラムがある
- 大きいトランザクションがある
などがあると、innodb_log_file_size が不足する可能性があるらしいです。
最適化を実行すると発生したこともあります。
InnoDB周りの設定をしていないと、innodb_log_file_size は 5MB になっていたりしますが、InnoDBを利用するならもっと大きくしておいたほうがよくて、メモリが1G、2Gなどあるなら、128MB とか 256MB などに変えると発生しなくなるかもしれません。
以下の設定値を見直すとよいでしょう。
[mysqld] innodb_log_buffer_size = 32M など innodb_buffer_pool_size = 1G など innodb_log_file_size = 256M など
コメント