Problema de arranque de Zabbix, realmente mysql es quien falla.

En el reinicio del laboratorio he sufrido varios contratiempos entre ellos  la baja de la monitorización de Zabbix asi que, una vez resuelto el problema del vCenter sin espacio, que era bastante urgente, he seguido arreglando cosillas, lo toca el turno a la monitorización. El caso es que Zabbix no arranca, bueno mejor dicho es mysql el que no arranca dando este error cuando le haces una petición a via web.

En el log de mysql podemos ver algo similar a esto

InnoDB: Page may be an index page where index id is 228
InnoDB: (index "history_uint_1" of table "zabbix"."history_uint")
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 52722.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.

Para resolverlo debemos resolver la corrupción de la BD intentando excluir los datos corruptos de la tabla dañada.

Paramos el servidor para no tener ningun acceso.

/etc/init.d/zabbix-server stop

Ahora arrancamos con un parámetro en el fichero conf de mysql

vim /etc/mysql/my.cnf

Añadimos esta línea bajo la sección [mysqld]

[mysqld]

innodb_force_recovery = 1

Y arrancamos mysql,con esta opción mysql debe ignorar las partes corruptas.

/etc/init.d/mysql start

Exportamos la tabla que da los errores, en mi caso history_uint, y la borramos.

mysqldump zabbix. history_uint > backup_hu.sql

drop table history_uint;

Reiniciar mysql normalmente, quitando la línea innodb_force_recovery = 1 del fichero de configuración.

Cargamos el fichero sql que teníamos de la tabla dañada

mysql zabbix < backup_hu.sql

Por ultimo arrancamos de nuevo el servidor.

/etc/init.d/zabbix-server start

Con esto ya tenemos solucionado el problema de la BD con nuestros datos correctos y nos podemos olvidar del problema y seguir con nuestra monitorización.

Podemos encontrar mas información en este link de mysql sobre la recuperación de una base de datos corrupta.

 

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.