🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Reparar tabla MySQL corrupta en Plesk

Actualizado el 17 de mayo de 2026

¿Tu web se ha vuelto lenta o muestra errores raros como "Table is marked as crashed"? No te preocupes, es un problema más común de lo que parece. Cuando una tabla de MySQL se corrompe en Plesk, puede deberse a cortes de energía, bloqueos del servidor o incluso a un cierre brusco del panel. En este artículo te guiaré paso a paso para reparar esa tabla corrupta usando herramientas como phpMyAdmin y comandos directos. Al final, tendrás tu base de datos funcionando como nueva.

¿Por qué se corrompe una tabla MySQL?

Las tablas MySQL pueden dañarse por varias razones. Aquí las más frecuentes:

  • Apagados inesperados: Si el servidor se apaga mientras se escribe en la base de datos.
  • Errores de hardware: Fallos en discos duros o memoria RAM.
  • Bloqueos del sistema: Cuando el servidor se satura y no finaliza correctamente las consultas.
  • Actualizaciones fallidas: Al actualizar Plesk o MySQL sin completar el proceso.
  • Uso intensivo: Consultas muy pesadas que dejan la tabla en un estado inconsistente.

[INFO] Si ves errores como "Table 'nombre_tabla' is marked as crashed and should be repaired" en los logs de Plesk o en tu web, es señal inequívoca de corrupción.

Síntomas de una tabla corrupta

Antes de reparar, identifica si realmente tienes una tabla corrupta. Estos son los síntomas más comunes:

  • Error 145: "Table 'xxx' is marked as crashed".
  • Error 1194: "Table 'xxx' is marked as crashed and last repair failed".
  • La web muestra contenido incompleto o directamente no carga.
  • phpMyAdmin lanza mensajes de error al intentar acceder a la tabla.
  • Consultas SQL se quedan colgadas o devuelven resultados incorrectos.

Método 1: Reparar desde phpMyAdmin (el más fácil)

phpMyAdmin es la herramienta gráfica que viene con Plesk para gestionar bases de datos. Es ideal si no quieres usar comandos.

Paso 1: Accede a phpMyAdmin desde Plesk

  1. Inicia sesión en tu panel Plesk.
  2. Ve a Bases de datos en el menú lateral.
  3. Busca la base de datos que tiene el problema y haz clic en phpMyAdmin (o en el icono de la base de datos).
  4. Se abrirá phpMyAdmin en una nueva pestaña.

[WARNING] Si no ves el enlace a phpMyAdmin, asegúrate de que el componente está instalado en Plesk. Puedes verificarlo en Herramientas y ajustes > Componentes.

Paso 2: Selecciona la tabla dañada

  1. En phpMyAdmin, haz clic en el nombre de tu base de datos (a la izquierda).
  2. Aparecerá la lista de tablas. Busca la que tiene el error (suele tener un icono de advertencia rojo).
  3. Haz clic en el nombre de la tabla para seleccionarla.

Paso 3: Repara la tabla

  1. En la parte superior, verás una pestaña llamada Operaciones. Haz clic en ella.
  2. Desplázate hacia abajo hasta la sección Mantenimiento de tablas.
  3. Verás varias opciones: Comprobar tabla, Reparar tabla, Optimizar tabla.
  4. Haz clic en Reparar tabla.
  5. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará el resultado.

Si todo sale bien, verás un mensaje verde como "La tabla se ha reparado correctamente". Si falla, prueba con Optimizar tabla o usa el método de línea de comandos.

[TIP] Si la reparación falla, no te alarmes. A veces necesitas ejecutar el comando varias veces o usar un método más avanzado.

Método 2: Reparar desde la línea de comandos (SSH)

Si phpMyAdmin no funciona o prefieres más control, puedes reparar directamente desde el terminal. Necesitarás acceso SSH al servidor.

Paso 1: Conéctate al servidor

Usa un cliente SSH (como PuTTY en Windows o Terminal en Mac/Linux) para conectarte a tu servidor.

ssh usuario@tu-servidor.com

[WARNING] Asegúrate de tener permisos de root o de un usuario con acceso a MySQL.

Paso 2: Accede a MySQL

Una vez dentro, escribe:

mysql -u root -p

Te pedirá la contraseña de root de MySQL. Si no la recuerdas, puedes encontrarla en Plesk en Herramientas y ajustes > Acceso a la base de datos.

Paso 3: Selecciona la base de datos y repara

Primero, selecciona la base de datos afectada:

USE nombre_de_tu_base_de_datos;

Luego, repara la tabla específica:

REPAIR TABLE nombre_de_la_tabla;

Si quieres reparar todas las tablas de la base de datos, puedes usar:

REPAIR TABLE `nombre_de_la_tabla1`, `nombre_de_la_tabla2`;

O incluso reparar todas las tablas de una base de datos con un script:

SELECT CONCAT('REPAIR TABLE ', table_name, ';') AS repair_command
FROM information_schema.tables
WHERE table_schema = 'nombre_de_tu_base_de_datos';

Luego copia y ejecuta cada comando generado.

[INFO] Si ves el mensaje "OK", la reparación fue exitosa. Si aparece "Error", prueba con CHECK TABLE primero para ver el estado.

Método 3: Usar el comando mysqlcheck (rápido y eficaz)

mysqlcheck es una herramienta de línea de comandos que puede reparar todas las tablas de una base de datos de una sola vez.

Paso 1: Ejecuta mysqlcheck

Desde el terminal SSH, escribe:

mysqlcheck -u root -p --repair nombre_de_tu_base_de_datos

Te pedirá la contraseña. Si quieres reparar todas las bases de datos:

mysqlcheck -u root -p --repair --all-databases

También puedes forzar la reparación con --force:

mysqlcheck -u root -p --repair --force nombre_de_tu_base_de_datos

[TIP] Si la tabla usa el motor InnoDB, mysqlcheck no siempre funciona. En ese caso, usa el método de phpMyAdmin o el comando REPAIR TABLE desde MySQL.

¿Qué hacer si la reparación falla?

A veces, una tabla está tan dañada que los métodos anteriores no funcionan. No desesperes, aún hay opciones.

Opción 1: Recuperar datos con mysqldump

Puedes intentar volcar los datos de la tabla corrupta a un archivo SQL y luego recrearla.

mysqldump -u root -p nombre_de_tu_base_de_datos nombre_de_la_tabla > respaldo_tabla.sql

Si el volcado falla, prueba con --force:

mysqldump -u root -p --force nombre_de_tu_base_de_datos nombre_de_la_tabla > respaldo_tabla.sql

Luego, borra la tabla corrupta y vuelve a importar:

DROP TABLE nombre_de_la_tabla;
SOURCE respaldo_tabla.sql;

Opción 2: Usar la herramienta myisamchk (solo para MyISAM)

Si tu tabla es del motor MyISAM (el más propenso a corrupción), puedes usar myisamchk directamente sobre los archivos físicos.

  1. Detén el servicio MySQL:
    systemctl stop mysql
    
  2. Ve al directorio de datos de MySQL (normalmente /var/lib/mysql/nombre_de_tu_base_de_datos).
  3. Ejecuta:
    myisamchk -r nombre_de_la_tabla.MYI
    
  4. Inicia MySQL de nuevo:
    systemctl start mysql
    

[WARNING] Este método solo funciona si la tabla es MyISAM. InnoDB no usa archivos .MYI.

Opción 3: Restaurar desde una copia de seguridad

Si todo falla, la solución más segura es restaurar la base de datos desde una copia de seguridad reciente. Plesk permite hacer backups automáticos. Ve a Bases de datos > nombre_de_tu_base_de_datos > Copia de seguridad y restaura la última versión sana.

Cómo prevenir futuras corrupciones

Una vez reparada la tabla, es mejor prevenir que curar. Sigue estos consejos:

  • Configura copias de seguridad automáticas en Plesk (diarias o semanales).
  • Revisa los logs del servidor para detectar cortes de energía o problemas de hardware.
  • Optimiza las tablas periódicamente desde phpMyAdmin (opción Optimizar tabla).
  • Usa motores de almacenamiento robustos: Si puedes, migra tablas MyISAM a InnoDB, que es más resistente a corrupciones.
  • Mantén actualizado Plesk y MySQL: Las actualizaciones corrigen bugs que pueden causar corrupción.

[INFO] En Plesk, puedes programar tareas de mantenimiento de bases de datos desde Herramientas y ajustes > Tareas programadas. Añade un comando como mysqlcheck -u root -p --optimize --all-databases para que se ejecute cada semana.

Preguntas frecuentes (FAQ)

¿Puedo reparar una tabla corrupta sin perder datos?

Sí, en la mayoría de los casos la reparación solo corrige índices y estructuras dañadas, sin borrar datos. Pero siempre es recomendable hacer una copia de seguridad antes.

¿Qué hago si el error persiste después de reparar?

Prueba a reparar la tabla varias veces. Si sigue fallando, usa phpMyAdmin para exportar la tabla a SQL (incluso con errores) y luego importarla de nuevo en una tabla nueva.

¿Cómo sé qué motor usa mi tabla (MyISAM o InnoDB)?

En phpMyAdmin, al seleccionar la tabla, verás el motor en la pestaña Estructura o en la información de la tabla. También puedes usar en MySQL: SHOW TABLE STATUS WHERE Name = 'nombre_tabla';.

¿Afecta la corrupción a todo el servidor?

No, solo a la base de datos o tabla específica. El resto del servidor y otras webs deben funcionar normalmente.

¿Puedo evitar que las tablas se corrompan usando Syspanel (HestiaCP)?

Si usas Syspanel (antes conocido como HestiaCP, accesible por el puerto 2106), el proceso es similar. La corrupción depende más del motor de MySQL que del panel. En Syspanel, puedes acceder a phpMyAdmin desde el menú de bases de datos.

Conclusión

Reparar una tabla MySQL corrupta en Plesk no es un proceso complicado si sigues los pasos correctos. Ya sea usando phpMyAdmin, comandos SQL o herramientas como mysqlcheck, la mayoría de las veces podrás recuperar tus datos sin problemas. Recuerda siempre tener copias de seguridad actualizadas y mantener tu servidor en buen estado.

Si después de intentarlo todo el error persiste, no dudes en contactar al soporte de tu hosting o a un administrador de sistemas. Con un poco de paciencia, tu web volverá a estar en línea. ¡Ánimo!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel