Si ejecuta mysqld con
          --skip-external-locking (lo que es la
          opción por defecto en algunos sistemas, como Linux), no puede
          utilizar myisamchk de manera segura para
          comprobar una tabla si mysqld está
          utilizando esta misma tabla. Si puede asegurarse de que nadie
          está accediendo a las tablas a través de
          mysqld mientras ejecuta
          myisamchk, entonces solo tendrá que hacer
          mysqladmin flush-tables antes de comenzar
          la comprobación de las tablas. Si no puede garantizar esto,
          entonces debe parar mysqld mientras
          comprueba las tablas. Si ejecuta myisamchk
          mientras mysqld está actualizando las
          tablas, puede obtener un aviso de que una tabla está corrupta
          aún cuando no sea así.
        
          Si no está utilizando
          --skip-external-locking, puede utilizar
          myisamchk para comprobar tablas en
          cualquier momento. Mientras hace esto, todos los clientes que
          intenten actualizar la tabla esperarán hasta que
          myisamchk esté listo para continuar.
        
          Si utiliza myisamchk para reparar u
          optimizar tablas, debe siempre asegurarse
          de que el servidor mysqld no está
          utilizando la tabla (esto es también aplicable cuando el
          usted esté utilizando
          --skip-external-locking). Si no apaga
          mysqld, al menos debe hacer un
          mysqladmin flush-tables antes de ejecutar
          myisamchk. Sus tables podrían
          corromperse si el servidor y
          myisamchk acceden a las tablas
          simultáneamente.
        
Esta sección describe como comprobar y actuar si existe corrupción en bases de datos MySQL. Si sus tablas se corrompen frecuentemente, usted debería intentar encontrar la razón. Consulte Sección A.4.2, “Qué hacer si MySQL sigue fallando (crashing)”.
          Para una explicación de como las tablas
          MyISAM pueden corromperse, consulte
          Sección 14.1.4, “Problemas en tablas MyISAM”.
        
          Cuando realice recuperación de fallos, es importante entender
          que cada tabla MyISAM con nombre
          tbl_name en una base de datos
          corresponde a tres archivos en el directorio de la base de
          datos:
        
| Archivo | Propósito | 
|  | Archivo de definición (formato) | 
|  | Archivo de datos | 
|  | Archivo de índices | 
Cada uno de estos tres tipos de archivos tiene un tipo de peligro de corrupción diferente, pero la mayoría de problemas ocurren más frecuentemente en los archivos de datos e índices.
          myisamchk trabaja creando una copia de el
          archivo de datos .MYD registro a
          registro. Finaliza el estadio de reparación borrando el viejo
          archivo .MYD y renombrando el nuevo
          archivo a el nombre original. Si utiliza
          --quick, myisamchk no
          crea un archivo.MYD temporal, sino que
          asume que el archivo .MYD está correcto
          y solo genera un nuevo archivo de índices sin tocar el
          archivo .MYD. Esto es seguro porque
          myisamchk automáticamente detecta sí el
          archivo .MYD está corrompido, y para la
          reparación si lo está. También puede especificar la opción
          --quick dos veces. En este caso,
          myisamchk no aborta al encontrar algunos
          errores (como erroes de clave duplicada), sino que intenta
          resolverlo modificando el archivo .MYD.
          Normalmente, la utilización de dos opciones
          --quick es útil sólo si tiene muy poco
          espacio libre para realizar una reparación normal. En este
          caso, al menos debería hacer una copia de seguridad antes de
          ejecutar myisamchk.
        
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

