18 feb 2009

[ERROR] /usr/sbin/mysqld: Incorrect information in file: './xxxxx.frm'

En la busqueda de la optimizacion de mi base he encontrado el siguiente error:

mysqld[10582]: 090218 7:58:13 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './xxxxxx.frm'

Por lo que encontre en la web, googleando obvio, se debe aparentemente a corrupciones en las tablas, debido a un mal cierre de la base ya sea por fallo de energia, kill process,etc. 

En busqueda de solucionar mi problema he utilizado la herramienta mysqlcheck la que ha chequeado todas las tablas sin ningun problema.

Despues de unos dias nuevamente:

mysqld[10582]: 090218 7:58:13 [ERROR] /usr/sbin/mysqld: Incorrect information in file: './xxxxxx.frm' :( X(

Utilizo la misma tool y nada, algo no anda bien aparentemente. Asi que me decido utilizar myisamchk la cual se corre con la base de datos parada sobre los datafiles. Como la misma esta en produccion hago la copia de los archivos (/var/lib/mysql/dir) y pruebo correr la herramienta, y caramba aparece mas de un error. Myisamchk permite hacer reparaciones, asi que reparo y vuelvo a chequear y definitivamente ahora esta todo bien.

La pregunta del millon es: ¿ cual es la diferencia entre mysqlcheck y myisamchk ?

Segun el manual solo es el estado en el cual se encuentra la base, pero a lo mejor alguien mas me sepa responder.

Saludos.