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

10

В производственной среде 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.

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

  • Что означает сообщение об ошибке?
  • Что я делаю неправильно?
  • Как я могу это исправить?
knorv
источник

Ответы:

11

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

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

ombble
источник
1
Каковы последствия просто игнорирования сообщений об ошибках?
Мэтт Хили
1
Вы шутите, верно? Вы серьезно думаете об игнорировании сообщения об ОШИБКЕ относительно ХРАНЕНИЯ ВАШЕЙ БАЗЫ ДАННЫХ? Когда исправление занимает около 10 секунд простоя?
womble
6
Нет, на самом деле это была не шутка, а настоящий вопрос. Будет ли сбой сервера? Будут ли потеряны данные? Будет ли производительность ухудшаться? Все вышеперечисленное?
Мэтт Хили
1
womble, отличный ответ! Я уже исправил проблему, но мне любопытно, какие последствия имела ошибка, когда конфигурация была неправильной. Дело в том, что я видел некоторые периодические замедления, и мне любопытно, было ли это связано с этой ошибкой или это было что-то другое. Спасибо!
knorv
4
Да, сервер базы данных будет эффективно зависать для любых обновлений таблиц InnoDB, когда журнал заполняется. Это может нанести вред сайту.
womble