В производственной среде 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 может быть поучительным.