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

Cómo reparar una base de datos corrupta en cPanel (MySQL y MariaDB)

Actualizado el 14 de septiembre de 2025

¿Por qué se corrompe una base de datos y cómo detectarlo?

Una base de datos corrupta es uno de los problemas más temidos para cualquier administrador de sitios web, pero no te preocupes: en la mayoría de los casos tiene solución. Cuando hablamos de MySQL o MariaDB, la corrupción suele manifestarse con errores como "Table is marked as crashed", "Table doesn't exist" o "Can't open file". Estos fallos pueden aparecer por cortes de energía, reinicios bruscos del servidor, discos llenos, ataques maliciosos o incluso por errores de software.

Los síntomas más comunes que notarás son:

  • Tu sitio web muestra un error de conexión con la base de datos.
  • Al entrar a cPanel, ves mensajes de error en la sección de bases de datos MySQL.
  • Las tablas aparecen como "en uso" o "dañadas" en phpMyAdmin.
  • Los formularios de tu web no guardan información nueva.
  • Aparecen mensajes como "Error establishing a database connection" en WordPress.

Si has llegado hasta aquí, seguramente ya estás viendo alguno de estos problemas. La buena noticia es que reparar base de datos es un proceso bastante mecánico si sigues los pasos correctos. En este artículo te voy a guiar paso a paso para que puedas arreglar tablas corruptas usando las herramientas que nos ofrece cPanel, tanto desde la interfaz gráfica como desde la terminal.


Herramientas disponibles en cPanel para reparar bases de datos

Antes de lanzarnos a la acción, es importante que conozcas las herramientas que tienes a tu disposición. cPanel incluye varias utilidades que te permiten diagnosticar y solucionar problemas de bases de datos sin necesidad de ser un experto.

phpMyAdmin: tu aliado visual

phpMyAdmin es la herramienta más accesible para usuarios sin experiencia técnica. Te permite ver todas tus bases de datos, inspeccionar tablas y ejecutar comandos SQL. Para acceder a ella:

  1. Inicia sesión en tu cPanel.
  2. Busca la sección Bases de Datos.
  3. Haz clic en phpMyAdmin.
  4. Selecciona la base de datos que te está dando problemas.

MySQL Workbench y clientes remotos

Si prefieres trabajar desde tu computadora, puedes usar MySQL Workbench o cualquier cliente MySQL con conexión remota. Sin embargo, esto requiere configurar el acceso remoto en cPanel, lo cual puede ser un poco más técnico. Para la mayoría de los usuarios, trabajar directamente desde cPanel es más seguro y sencillo.

La terminal (SSH)

Si tienes acceso SSH a tu servidor, puedes usar comandos directos de MySQL y MariaDB. Esta opción es más rápida pero requiere conocimientos de línea de comandos. No te preocupes, te explicaré ambos métodos para que elijas el que más te convenga.


Método 1: Reparar tablas corruptas con phpMyAdmin

Este es el método más recomendado para principiantes. phpMyAdmin incluye una opción nativa para reparar tablas corruptas en MySQL y MariaDB.

Paso 1: Identifica las tablas problemáticas

Primero, necesitas saber qué tablas están dañadas. En phpMyAdmin, sigue estos pasos:

  1. Selecciona la base de datos afectada en el panel izquierdo.
  2. Verás una lista de todas las tablas de esa base.
  3. Fíjate en las tablas que muestran el estado "in use", "crashed" o que no responden al hacer clic.
  4. También puedes revisar el Log de errores de MySQL en cPanel > Métricas > Errores.

[WARNING] Si tu base de datos es muy grande, abrir phpMyAdmin puede ser lento. Sé paciente y no cierres la pestaña mientras carga.

Paso 2: Ejecuta la reparación desde phpMyAdmin

Una vez identificadas las tablas problemáticas:

  1. Marca la casilla de verificación junto al nombre de la tabla afectada.
  2. En el menú desplegable inferior (que dice "Con seleccionadas"), elige "Reparar tabla".
  3. Haz clic en Continuar.
  4. phpMyAdmin ejecutará automáticamente el comando REPAIR TABLE en MySQL/MariaDB.

Verás un mensaje de confirmación como "Tus tablas han sido reparadas" o un informe con el estado de cada tabla. Si la reparación fue exitosa, el estado debería cambiar a "ok".

[TIP] Si tienes varias tablas dañadas, puedes seleccionarlas todas a la vez y repararlas en lote. Esto ahorra tiempo y evita errores individuales.

Paso 3: Verifica la integridad

Después de reparar, es buena práctica verificar que todo esté correcto:

  1. Selecciona todas las tablas de la base de datos.
  2. En el menú desplegable, elige "Comprobar tabla".
  3. Esto ejecutará CHECK TABLE, que te dirá si alguna tabla sigue teniendo problemas.

Si alguna tabla no se puede reparar con phpMyAdmin, no te desesperes. Pasemos al siguiente método.


Método 2: Reparación desde la terminal SSH (MySQL y MariaDB)

Si tienes acceso SSH y te sientes cómodo con la línea de comandos, este método es más potente y te da más control sobre el proceso de cpanel repair.

Paso 1: Conecta por SSH a tu servidor

Usa tu cliente SSH favorito (PuTTY en Windows, Terminal en Mac/Linux) y conéctate con tus credenciales de root o un usuario con privilegios sudo.

Paso 2: Accede al shell de MySQL/MariaDB

Ejecuta el siguiente comando para entrar al shell de MySQL:

mysql -u usuario -p

Donde usuario es tu usuario de base de datos. Te pedirá la contraseña correspondiente. Si no recuerdas la contraseña, puedes crearla desde cPanel en la sección Bases de datos MySQL.

Paso 3: Selecciona la base de datos afectada

Una vez dentro del shell, escribe:

USE nombre_de_tu_base_de_datos;

Sustituye nombre_de_tu_base_de_datos por el nombre real de tu base.

Paso 4: Repara las tablas corruptas

Ahora, ejecuta el comando de reparación sobre la tabla o tablas problemáticas:

REPAIR TABLE nombre_de_la_tabla;

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

REPAIR TABLE *.*;

[INFO] Este comando funciona tanto en MySQL como en MariaDB. En MariaDB, el comando REPAIR TABLE es especialmente eficaz para tablas MyISAM y Aria.

Paso 5: Verifica el estado

Después de reparar, comprueba que todo esté bien:

CHECK TABLE nombre_de_la_tabla;

El resultado debería mostrar un estado "OK" para cada tabla verificada.

Paso 6: Sal del shell

Cuando hayas terminado, escribe exit; para salir del shell de MySQL y luego exit para cerrar la sesión SSH.


Método 3: Reparación automática con el script de cPanel

cPanel incluye un script llamado mysqlup que puede reparar bases de datos automáticamente. Este método es útil si tienes muchas tablas dañadas o si los métodos anteriores no funcionaron.

Ejecuta el script desde SSH

  1. Conecta por SSH como root.
  2. Ejecuta el siguiente comando:
/scripts/mysqlup --repair

Este script revisará todas las bases de datos del servidor y reparará las tablas corruptas automáticamente. Es un proceso que puede tardar unos minutos, dependiendo del tamaño de tus bases de datos.

[TIP] Si el script no existe en tu servidor, puedes intentar con /usr/bin/mysqlcheck directamente:

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

Este comando comprueba y repara todas las bases de datos del servidor en un solo paso.


Método 4: Reparación desde Syspanel (si usas un panel alternativo)

Si tu servidor utiliza Syspanel en lugar de cPanel (o como complemento), el proceso es muy similar. Recuerda que Syspanel es el nuevo nombre de lo que antes conocíamos como HestiaCP, y su puerto de acceso es el 2106.

  1. Accede a tu panel en https://tu-dominio.com:2106.
  2. Ve a la sección de Bases de datos.
  3. Selecciona la base afectada.
  4. Elige la opción de Reparar o Verificar.

Aunque la interfaz es diferente, las herramientas subyacentes son las mismas que en cPanel, así que los comandos SQL que te he mostrado funcionarán igualmente.


Prevención: cómo evitar futuras corrupciones

Una vez que hayas reparado base de datos, es fundamental tomar medidas para que no vuelva a ocurrir. Aquí tienes algunas recomendaciones:

Realiza copias de seguridad periódicas

Configura copias de seguridad automáticas desde cPanel o Syspanel. Lo ideal es tener copias diarias o al menos semanales, almacenadas en un lugar distinto al servidor.

Mantén tu software actualizado

Tanto MySQL/MariaDB como cPanel lanzan actualizaciones periódicas que corrigen errores y vulnerabilidades. Mantener todo actualizado reduce significativamente el riesgo de corrupción.

Vigila el espacio en disco

Un disco lleno es una de las causas más comunes de corrupción. Revisa regularmente el uso de disco desde cPanel > Métricas > Uso de disco.

Usa motores de almacenamiento robustos

En la medida de lo posible, utiliza InnoDB en lugar de MyISAM. InnoDB es más resistente a la corrupción y soporta transacciones atómicas.

Optimiza tus tablas regularmente

Ejecuta OPTIMIZE TABLE en tus tablas principales una vez al mes. Esto no solo mejora el rendimiento, sino que también detecta problemas antes de que se conviertan en corrupción grave.


Preguntas frecuentes (FAQ)

¿Qué hago si la reparación no funciona?

Si ninguno de los métodos anteriores funciona, puedes intentar restaurar una copia de seguridad reciente. Si no tienes copias, contacta con tu proveedor de hosting; ellos suelen tener herramientas más avanzadas de recuperación.

¿Puedo reparar una base de datos corrupta sin perder datos?

En la mayoría de los casos, sí. Los comandos REPAIR TABLE y mysqlcheck intentan reconstruir la estructura de las tablas sin borrar los datos. Sin embargo, si la corrupción es muy grave, es posible que pierdas algunas filas de datos. Por eso es crucial tener copias de seguridad.

¿Cuál es la diferencia entre reparar MySQL y MariaDB?

A nivel práctico, ninguna. MariaDB es un fork de MySQL, por lo que los comandos de reparación son casi idénticos. La principal diferencia es que MariaDB tiene algunas optimizaciones de rendimiento y motores de almacenamiento adicionales, pero el proceso de reparación es el mismo.

¿Cómo sé si una tabla está corrupta sin esperar a que falle?

Puedes ejecutar CHECK TABLE periódicamente como parte de tu mantenimiento. Muchos administradores configuran un cron job que ejecuta este comando semanalmente y les envía un correo con los resultados.

¿Es seguro reparar tablas mientras el sitio está en producción?

No se recomienda. Si tu sitio está siendo visitado mientras reparas, podrías causar más daño. Lo ideal es poner el sitio en modo mantenimiento o hacerlo en horas de bajo tráfico.


Conclusión: no temas a las tablas corruptas

Reparar una base de datos corrupta en cPanel no es tan complicado como parece. Con las herramientas que te he mostrado, tanto gráficas como de línea de comandos, puedes resolver la mayoría de los problemas sin necesidad de ser un experto en bases de datos.

Recuerda siempre:

  • Identifica el problema correctamente.
  • Usa la herramienta adecuada (phpMyAdmin para principiantes, terminal para avanzados).
  • Verifica que todo esté correcto después de reparar.
  • Prevé futuros problemas con copias de seguridad y mantenimiento regular.

Si has seguido todos los pasos y aún tienes problemas, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso a herramientas de nivel servidor que pueden solucionar incluso los casos más extremos de mysql corrupta.

Espero que esta guía te haya sido de ayuda. ¡Buena suerte con tus bases de datos y que no vuelvas a ver ese temido error de "table crashed" en mucho tiempo!

¿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