precisamente esta mañana he tenido que reparar una BD y me ha sido de utilidad lo que comentabas.
Sabes a que puede deberse esos problemas? la verdad hasta ahora nunca había experimentado algo así y quiero informarme mas de acerca de donde proviene esos errores.
Me alegro que te fuera de utilidad, a ver te cuento, lo cierto es que una tabla que se marca como crashed puede ocurrir por muchas cosas, por ejemplo porque mientras tu foro está funcionando el servicio de mysql se reinicia, que suele ser en hostings compartidos la mayoría de las veces, porque el handle que apuntaba a base de datos y se queda orphaned, porque el servidor se reinicia con el servicio corriendo, también gran parte de las veces, o porque el software tiene errores. También porque el disco tiene un sector defectuoso y los nodos (indices internos de la tabla) hacen que todos los registros que vienen después del crashed marked están huérfanos como te decía en el mensaje de arriba, también como me ha pasado cuando un disco en linux se jode, se automonta en solo lectura por lo que todas las tablas se marcan como corrupted.
Más cosas que recuerde, a ver también cuando reinicias mysql las caches se limpian y tienen que volver a popularse, lo que ocurre que la información de (key_buffer, innodb_buffer_pool, query_cache,table_cache) no se corresponde con la información master de la tabla (master.info)
Que el binary log se corrompa también me ha ocurrido muchas veces, el binary log guarda todas las transacciones y permite restaurar toda la información de una base de datos a partir de los datos de transacciones.
Te paso info de los diferentes tipos de errores de tablas, lo mejor cuando pasas un myisamcheck y tienes que usar un safe-recover es hacerlo con el servidor de base de datos parado para que coteje y repare los MYD, FRM.
Insertar CODE, HTML o PHP:
shell> perror 126 127 132 134 135 136 141 144 145
126 = Index file is crashed / Wrong file format
127 = Record-file is crashed
132 = Old database file
134 = Record was already deleted (or record file crashed)
135 = No more room in record file
136 = No more room in index file
141 = Duplicate unique key or constraint on write or update
144 = Table is crashed and last repair failed
145 = Table was marked as crashed and should be repaired
Tenga en cuenta que el error 135 (no more room in record file) y el error 136 (no more room in index file) no son errores que puedan arreglarse con una simple reparación porque significa que te has quedado sin espacio en disco