julio 03, 2010

Tabla corrupta en MYSQL
Compartir en FacebookComparte este enlace en Facebook

De los 10 años que uso MySQL nunca me había encontrado con una tabla que se corrompiera.

Mientras actualizaba datos de un registro de una tabla de pronto empezaron a aparecer mensajes de error. Para administrar los registros de la tablas del sitio en cuestión tengo un sistema hecho con PHP para manipularlos.

Como este sistema me daba el mensaje de error, y sospechaba que algo raro había pasado con wl registro que traté de modificar, utilicé entonces el PHPMyAdmin que entrega el ISP que me da hosting y ni idea era buscar en la tabla el registro que traté de modificar y ver que había pasado.

Grande fue mi sorpresa al tratar de abrir la tabla con PHPMyAdmin apareciera otro mensaje y no podía ni examinar los registros, ni ver la estructura de la misma.

No recuerdo bien el mensaje y no lo anoté pero al parecer era algo como:

"incorrect key file for table 'nombre_de_mi_tabla'; try to repair it"

Investigué un poco y a otras personas también le había sucesido, y al parecer no es un error escaso, o sea no es que siempre ocurra, pero no es escaso que si ocurra. Según aconsejaban había que tratar de reparar la tabla.

Me puse entonces a bucear en el PHPMyAdmin a ver si encontraba alguna herramienta para reparar la tabla, pero me fue mal.

Investigando un poco más encontré que había que ejcutar un comando de MySQL para reparar la tabla y había varias alernativas. La use tiene la siguiente sintaxis:

REPAIR TABLE nombre_tabla

Podría hhaberla ejecutada desde el mismo PHPMyAdmin, pero como tengo en mi sistema de administración que armé la posiblidad de ejecutar cualquier consulta de MySQL, ejecute el comando con esa herramienta, que además la tengo de comodín, cuando hay cosas que no he programado en los sistemas de administración que armo, y además cuando la empresa que me da hosting, me bloquea serivicios por que me he atrasado en el pago, práctica de presión que hayo un poco extrema pues a veces no está disconforme con el servicio, quiere migrarlo y no puede respaldar sus datos y achivos.

Bueno la cosas que el comando REPAIR TABLE funcionó y recuperé la tabla. No se si hubo algún otro daño en los registros, pero por lo menos os últimos que había ingresado seguían ahí, y el registro que suspuestamente disparó la falla estaba ahi intacto.

Además hice un respaldo de toda la base por si acaso.

No hay comentarios.: