Incluso si el formato de la tabla MyISAM es muy confiable (todos los cambios realizados en la tabla mediante una declaración SQL se escriben antes de que la declaración regrese), aún puede obtener una tabla dañada si ocurre cualquiera de los siguientes eventos:
· El proceso mysqld se cancela en en medio de una escritura.
· Se produce un apagado inesperado de la computadora (por ejemplo, la computadora se apaga).
· Fallo de hardware.
· Puedes utilizar programas externos (como myisamchk) en las tablas que el servidor modifica al mismo tiempo.
· Defectos de software en código MySQL o MyISAM.
Los síntomas típicos de una tabla dañada son:
· Al seleccionar datos de la tabla, aparece el siguiente error:
· Archivo de clave incorrecto para la tabla: '...' Intente repararlo
· La consulta no puede encontrar la fila en la tabla O. devolver datos incompletos.
Puede usar la instrucción CHECK TABLE para verificar el estado de una tabla MyISAM y usar REPAIR TABLE para reparar una tabla MyISAM dañada. Cuando mysqld no se está ejecutando, también puede usar el comando myisamchk para verificar o reparar una tabla.
Si su tabla se daña con frecuencia, debe intentar determinar el motivo por el cual esto sucede. Lo más importante que hay que entender es si la tabla se corrompió como resultado de la caída del servidor. Puede verificar esto temprano buscando en el registro de errores el mensaje de mysqld reiniciado más recientemente. Si existe dicho mensaje, es muy probable que la corrupción de la tabla se deba a la muerte del servidor. De lo contrario, podrían producirse daños durante el funcionamiento normal. Esto es un defecto. Debería intentar crear un caso de prueba reproducible que demuestre este problema.