El programa myisamchk es una utilidad en línea de comandos que se incluye con la distribución de MySQL y sirve para reparar tablas tipo MyISAM. Para utilizarlo con seguridad el servidor no debe estar ejecutándose y se recomienda realizar un respaldo del directorio de datos antes de su utilización.
Recibe como parámetro principal los archivos .MYI correspondientes a las tablas que hay que revisar; es decir, myisamchk no conoce la ubicación del directorio de datos.
Por ejemplo, si el directorio de datos está ubicado en /val/lib/mysql, las siguientes serían dos maneras de realizar una comprobación de los archivos de la base de datos demo:
# myisamchk /var/lib/mysql/demo/*.MYI
# cd /var/lib/lib/mysql/demo
# myisamchk *.MYI
Se pueden revisar todas las bases de datos utilizando ’*’ para denominar el directorio de la base de datos:
# myisamchk /var/lib/mysql/*/*.MYI
Para realizar una comprobación rápida, el manual sugiere utilizar el siguiente comando:
# myisamchk –silent –fast *.MYI
Y para realizar la corrección de las tablas corruptas, el manual sugiere la sintaxis siguiente:
# myisamchk –silent –force –update-state -O key_buffer=64M \
-O sort_buffer=64M -O read_buffer=1M -O write_buffer=1M *.MYI
Nota
En la práctica con estas opciones se logran corregir los errores más comunes. Para conocer
otras opciones de recuperación con myisamchk, puedes consultar el manual que acompaña a la distribución de MySQL.
Las opciones dadas por -O se refieren al uso de memoria, que permiten acelerar de forma notoria l proceso de reparación.
–force reinicia myisamchk con el parámetro –recover cuando encuentra algún error.
–updatestate almacena información sobre el resultado del análisis en la tabla MYI.