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стовпцями.

В основному я втрачений, як вирішити цю проблему та продовжувати виправляти цю проблему. Мої запитання:

  • Що означає повідомлення про помилку?
  • Що я роблю неправильно?
  • Як я можу це виправити?

Відповіді:


11

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

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


1
Які наслідки просто ігнорування повідомлень про помилки?
Метт Хілі

1
Ти жартуєш, правда? Ви серйозно обмірковуєте ігнорування повідомлення про помилку щодо ЗБЕРІГАННЯ ВАШОЇ ДАНІ? Коли виправлення займе близько 10 секунд простою?
живіт

6
Ні, це насправді не жарт, це було справжнє питання. Чи вийде з ладу сервер? Чи будуть втрачені дані? Чи погіршиться продуктивність? Все вищеперераховане?
Метт Хілі

1
вродливий, чудова відповідь! Я вже вирішив проблему, але мені цікаво, які наслідки мала помилка, коли конфігурація була неправильною. Річ у тім, що я бачив деякі переривчасті уповільнення, і мені цікаво, чи це було пов’язано з цією помилкою чи це було щось інше. Дякую!
knorv

4
Так, сервер бази даних буде ефективно вивішувати будь-які оновлення таблиць InnoDB, коли журнал заповнюється. Це може калічити сайт.
живіт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.