MySQL: InnoDB: ERROR: la edad del último punto de control es X, que excede la capacidad del grupo de registro Y?

10

En un entorno de producción MySQL, el siguiente mensaje de error se escribe /var/log/mysql/error.logcada cuatro minutos:

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.

No estoy seguro de cómo analizar el mensaje de error.

Más específicamente, no entiendo cómo la edad del punto de control se relaciona con la "capacidad del grupo de registro", y cómo eso a su vez se relaciona con el tamaño de las filas con columnas BLOB/ grandes TEXT.

Básicamente estoy perdido en cómo solucionar problemas y proceder a solucionar este problema. Mis preguntas son:

  • Que quiere decir el mensaje de error?
  • ¿Qué estoy haciendo mal?
  • ¿Cómo puedo arreglarlo?
knorv
fuente

Respuestas:

11

El mensaje de error significa que está tratando de insertar demasiados datos en InnoDB demasiado rápido, y el registro de InnoDB se está llenando antes de que los datos se puedan vaciar en los archivos de datos principales.

Para resolverlo, debe detener MySQL limpiamente (muy importante), eliminar los archivos de registro de InnoDB existentes (probablemente lb_logfile*en su directorio de datos MySQL, a menos que los haya movido), luego ajustarlos innodb_log_file_sizepara satisfacer sus necesidades y luego iniciar MySQL nuevamente . Este artículo del blog de rendimiento de MySQL podría ser instructivo.

womble
fuente
1
¿Cuáles son las consecuencias de ignorar los mensajes de error?
Matt Healy
1
¿Estás bromeando no? ¿Está considerando seriamente ignorar un mensaje de ERROR con respecto al ALMACENAMIENTO DE SU BASE DE DATOS? Cuando la solución tarda unos 10 segundos de tiempo de inactividad?
womble
66
No, en realidad no era una broma, era una pregunta genuina. ¿Se bloqueará el servidor? ¿Se perderán los datos? ¿Se degradará el rendimiento? Todas las anteriores?
Matt Healy
1
womble, gran respuesta! Ya he solucionado el problema, pero tengo curiosidad por saber qué consecuencias tuvo el error cuando la configuración era incorrecta. La cuestión es que vi algunas ralentizaciones intermitentes y tengo curiosidad por saber si eso estaba relacionado con este error o si era algo diferente. ¡Gracias!
knorv
44
Sí, el servidor de la base de datos se bloqueará efectivamente para cualquier actualización de las tablas de InnoDB cuando el registro se llene. Puede paralizar un sitio.
womble