Назад | Перейти на главную страницу

MySQL: InnoDB: ОШИБКА: возраст последней контрольной точки равен X, что превышает емкость группы журналов Y?

В производственной среде MySQL следующее сообщение об ошибке записывается в /var/log/mysql/error.log каждую четвертую минуту:

110723 18:36:02  InnoDB: ERROR: the age of the last checkpoint is 9433856,
InnoDB: which exceeds the log group capacity 9433498.
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.

Я не знаю, как разобрать сообщение об ошибке.

В частности, я не понимаю, как возраст контрольной точки соотносится с «емкостью группы журналов» и как это, в свою очередь, связано с размером строк с большими BLOB/TEXT столбцы.

В основном я не знаю, как устранить неполадки и продолжить исправление этой проблемы. Мои вопросы:

Сообщение об ошибке означает, что вы слишком быстро пытаетесь вставить слишком много данных в InnoDB, и журнал InnoDB заполняется до того, как данные могут быть сброшены в основные файлы данных.

Чтобы решить эту проблему, вам нужно полностью остановить MySQL (очень важно), удалить существующие файлы журнала InnoDB (возможно, lb_logfile* в каталоге данных MySQL, если вы их не переместили), затем настройте innodb_log_file_size в соответствии с вашими потребностями, а затем снова запустите MySQL. Эта статья из блога о производительности MySQL может быть поучительным.