Error MySQL: “Table is marked as crashed and should be repaired”

Si se has recibido dicho error, significa que una de las tablas de la base de datos indicada ha quedado corrupta y que debería ser reparada.

Dicho suceso puede ocurrir cuando ha habido un reinicio inesperado del servicio de MySQL, provocado temas como el reinicio del servidor, que se quede sin espacio, etc. Esto da lugar a que la tabla en cuestión se quede inoperativa hasta que la repares.

Para reparar la tabla, accede mediante SSH a tu Servidor Linux.

Una vez dentro, ejecuta el comando mysqlcheck. Este comando posee multitud de opciones, que puedes encontrar en la documentación oficial de MySQL. Para este tema la que necesitamos es:


mysqlcheck -uusuario -p --databases nombre_de_base_de_datos --auto-repair

El comando anterior revisará todas las tablas de la base de datos que indiques y en el caso de encontrar alguna tabla corrupta, procederá a repararla. Adicionalmente, debes especificar el usuario propietario de la base de datos y la contraseña que te solicitará una vez ejecutes el comando.

Para comprobar todas las tablas y las bases de datos sería el comando siguiente:


mysqlcheck -uusuario -p --all-databases --auto-repair

En la documentación oficial de MySQL puedes encontrar muchas opciones a la hora de ejecutar mysqlcheck que quizá se adapten mejor a tu situación que en la expuesta en este post.

To write a comment on this article, fill out the form below. Fields marked with an asterisk (*) are required.