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

¿Cómo reparar tablas corruptas en MariaDB de Plesk?

Actualizado el 15 de junio de 2026

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver un problema que puede ser un poco estresante, pero que tiene solución: las tablas corruptas en MariaDB dentro de Plesk. No te preocupes, te guiaré paso a paso, con un lenguaje muy sencillo, para que puedas reparar tablas corruptas MariaDB Plesk sin necesidad de ser un experto. Vamos a ello.

¿Por qué se corrompen las tablas en MariaDB?

Primero, es normal que te preguntes por qué ocurre esto. Las tablas de bases de datos (como las de tu web o aplicación) pueden dañarse por varias razones. Las más comunes son:

  • Cortes de energía inesperados: Si el servidor se apaga de golpe mientras se escribe en la base de datos.
  • Errores del disco duro: El disco donde se almacenan los datos puede tener sectores defectuosos.
  • Actualizaciones fallidas: A veces, al actualizar MariaDB o Plesk, algo sale mal.
  • Sobrecarga del servidor: Demasiadas conexiones o consultas muy pesadas pueden forzar el sistema.
  • Errores humanos: Como borrar archivos importantes por accidente.

Cuando una tabla se corrompe, tu web puede mostrar errores como "Table is marked as crashed and should be repaired", "Error 145" o simplemente dejar de funcionar. Pero no temas, ¡repararla es más fácil de lo que parece!

Preparativos: Antes de empezar a reparar

Antes de lanzarnos a la reparación, es clave hacer una copia de seguridad. Sí, aunque la tabla esté dañada, podemos intentar salvar los datos que aún estén intactos.

1. Haz una copia de seguridad de la base de datos

Puedes hacerlo desde el propio Plesk o por línea de comandos. Te recomiendo la opción más segura para no complicarte:

[WARNING] Una copia de seguridad no siempre recupera la tabla corrupta al 100%, pero es un seguro de vida. Si la reparación falla, tendrás algo con lo que trabajar.

Desde Plesk:

  1. Ve a Herramientas y Configuración > Administrador de Bases de Datos.
  2. Busca la base de datos afectada y haz clic en el icono de Exportar (normalmente un disquete o flecha hacia abajo).
  3. Elige Exportar todas las tablas y guarda el archivo .sql en tu ordenador.

Por línea de comandos (si tienes acceso SSH):

mysqldump -u [usuario] -p [nombre_base_datos] > backup_seguro.sql

Te pedirá la contraseña. Así tienes una copia de seguridad completa.

2. Identifica qué base de datos y tabla están corruptas

Cuando tu web muestra un error, generalmente te dice qué tabla está dañada. Por ejemplo: Error: Table 'midatabase.mitabla' is marked as crashed. Apunta el nombre de la base de datos y la tabla. Si no sabes cuál es, puedes revisar los logs de MariaDB:

Accede a los logs:

sudo tail -100 /var/log/mariadb/mariadb.log

Busca líneas que contengan "crashed" o "corrupt". Ahí verás las tablas afectadas.

Método 1: Reparar desde Plesk (La forma más fácil)

Si prefieres no usar comandos, Plesk tiene una herramienta gráfica muy útil.

Pasos para reparar desde el panel de Plesk:

  1. Inicia sesión en Plesk.
  2. Ve a Bases de Datos (dentro del menú de tu suscripción o dominio).
  3. Selecciona la base de datos que tiene el problema.
  4. Haz clic en Administrar (te llevará a phpMyAdmin).
  5. En phpMyAdmin, a la izquierda verás la lista de tablas de esa base de datos.
  6. Busca la tabla que está corrupta (puede tener un icono de advertencia).
  7. Marca la casilla junto al nombre de la tabla.
  8. En la parte inferior, en el menú desplegable "Con seleccionadas", elige Reparar tabla.
  9. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará el resultado. Si todo va bien, dirá "OK".

[TIP] Si no ves la opción "Reparar tabla", es porque tu usuario de base de datos no tiene permisos de reparación. En ese caso, usa el método de SSH que te explico a continuación.

Método 2: Reparar por línea de comandos (SSH) - El método más potente

Si el método gráfico falla o prefieres más control, el terminal es tu aliado. Necesitarás acceso SSH al servidor.

Paso 1: Conéctate al servidor

Usa un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux) y conéctate con tu usuario root o un usuario con permisos sudo.

Paso 2: Accede a MariaDB

Escribe el siguiente comando y luego introduce la contraseña de root de MariaDB (no confundir con la de Plesk):

mysql -u root -p

Si no recuerdas la contraseña de root de MariaDB, puedes obtenerla desde Plesk:

  • Ve a Herramientas y Configuración > Configuración del Servidor de Bases de Datos.
  • Allí verás la contraseña actual (o puedes cambiarla).

Paso 3: Selecciona la base de datos

Dentro de la consola de MySQL, escribe:

USE nombre_de_tu_base_de_datos;

Reemplaza nombre_de_tu_base_de_datos por el nombre real.

Paso 4: Repara la tabla

Ahora, ejecuta el comando mágico:

REPAIR TABLE nombre_de_tabla_corrupta;

Si no sabes el nombre exacto de la tabla, puedes ver todas las tablas de la base de datos con:

SHOW TABLES;

Luego, repara una por una o todas de una vez.

[INFO] Para reparar todas las tablas de la base de datos de una sola vez, puedes usar este comando (¡cuidado, es más pesado!):

REPAIR TABLE `tabla1`, `tabla2`, `tabla3`;

O si quieres ser más eficiente, usa una herramienta externa como mysqlcheck (lo veremos más adelante).

Paso 5: Verifica el resultado

El comando REPAIR TABLE te devolverá una tabla con el estado. Busca Msg_text que diga "OK". Si ves "Error", puede que la tabla esté muy dañada.

Método 3: Usar mysqlcheck (La navaja suiza)

mysqlcheck es una herramienta de línea de comandos que permite reparar, verificar y optimizar bases de datos de forma masiva. Es ideal si tienes muchas tablas corruptas.

Ejemplos prácticos:

  • Verificar una base de datos completa:
    mysqlcheck -u root -p --check nombre_base_datos
    
  • Reparar una base de datos completa:
    mysqlcheck -u root -p --repair nombre_base_datos
    
  • Reparar todas las bases de datos del servidor:
    mysqlcheck -u root -p --repair --all-databases
    
  • Reparar y optimizar a la vez:
    mysqlcheck -u root -p --auto-repair --optimize --all-databases
    

[WARNING] El comando --all-databases puede llevar tiempo si tienes muchas bases de datos. Úsalo con cuidado en horas de bajo tráfico.

¿Y si la reparación no funciona? (Casos difíciles)

A veces, la tabla está tan dañada que REPAIR TABLE no puede arreglarla. No desesperes, aún hay opciones.

Opción 1: Forzar la reparación con parámetros extra

Dentro de MariaDB, puedes probar:

REPAIR TABLE nombre_tabla USE_FRM;

Este comando intenta reconstruir la tabla usando el archivo .frm (que contiene la definición de la tabla). Es un poco más agresivo.

Opción 2: Crear una tabla nueva y copiar datos

Si la reparación falla, pero aún puedes leer algunos datos, puedes intentar:

  1. Crear una tabla nueva con la misma estructura (puedes obtenerla de un backup o del archivo .frm).
  2. Insertar los datos desde la tabla corrupta usando INSERT ... SELECT.
    INSERT INTO tabla_nueva SELECT * FROM tabla_corrupta;
    
  3. Si esto falla, prueba a leer los datos en modo seguro:
    SELECT * FROM tabla_corrupta INTO OUTFILE '/tmp/datos.txt';
    
    Luego, importa ese archivo a la nueva tabla.

Opción 3: Restaurar desde un backup

Si todo lo demás falla, la solución más limpia es restaurar la base de datos desde la copia de seguridad que hiciste al principio. Para ello:

  1. Borra la base de datos corrupta desde Plesk (o desde la línea de comandos con DROP DATABASE).
  2. Crea una nueva base de datos con el mismo nombre.
  3. Importa el backup: mysql -u root -p nombre_base < backup_seguro.sql.

Prevención: Cómo evitar futuras corrupciones

Más vale prevenir que curar. Aquí tienes algunos consejos para mantener tus bases de datos sanas:

  • Realiza copias de seguridad periódicas: Programa backups automáticos en Plesk (diarios o semanales).
  • Actualiza Plesk y MariaDB: Las versiones nuevas corrigen errores que pueden causar corrupción.
  • Monitorea el estado del disco: Usa herramientas como smartctl para verificar la salud del disco duro.
  • Optimiza las tablas regularmente: Programa un cron que ejecute mysqlcheck --optimize --all-databases una vez al mes.
  • Evita cortes de energía: Si es posible, usa un SAI (UPS) en el servidor.

[TIP] Si usas Syspanel (el antiguo HestiaCP), el proceso es muy similar. Accede por el puerto 2106 (ejemplo: https://tudominio.com:2106) y busca la sección de bases de datos. Allí también puedes usar phpMyAdmin o la línea de comandos de la misma forma.

Preguntas Frecuentes (FAQ)

¿Puedo reparar una base de datos sin detener mi web?

Sí, REPAIR TABLE bloquea la tabla solo durante la reparación (unos segundos). Si tu web tiene mucho tráfico, programa la reparación en horas bajas.

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

Prueba con REPAIR TABLE USE_FRM. Si aún falla, restaura desde un backup. Si no tienes backup, contacta con soporte técnico.

¿Reparar una tabla borra datos?

No, REPAIR TABLE intenta recuperar los datos. Pero en casos extremos, puede perder filas dañadas. Por eso es importante el backup.

¿Puedo reparar desde phpMyAdmin si no tengo acceso SSH?

Sí, como vimos en el Método 1. Es la opción más amigable.

¿Cada cuánto debo revisar mis bases de datos?

Revisa los logs de MariaDB semanalmente. Si ves errores recurrentes, programa una optimización mensual.

Conclusión

Reparar una plesk base datos corrupta no es el fin del mundo. Con las herramientas que te he mostrado (phpMyAdmin, línea de comandos o mysqlcheck), puedes solucionarlo en pocos minutos. Recuerda siempre tener un backup a mano y, si el problema se repite, revisa la salud de tu servidor.

Si te has quedado con dudas, no dudes en escribirme. ¡Estoy aquí para ayudarte a mantener tu web funcionando sin problemas!

[INFO] Este artículo está basado en buenas prácticas y experiencia real. Siempre verifica la compatibilidad con tu versión de Plesk y MariaDB.

¿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