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

Reparar base de datos MySQL dañada en cPanel

Actualizado el 13 de marzo de 2026

A veces, una base de datos MySQL puede corromperse debido a cortes de energía, errores del servidor, fallos en plugins o actualizaciones incompletas. Cuando esto ocurre, tu sitio web puede mostrar errores como "Error al conectar con la base de datos" o "Table is marked as crashed". No te preocupes: en la mayoría de los casos, reparar la base de datos dañada es un proceso sencillo que puedes realizar tú mismo desde cPanel o incluso desde la línea de comandos.

En esta guía te explicaremos paso a paso cómo reparar una base de datos MySQL dañada en cPanel, usando herramientas integradas y comandos básicos. Además, incluiremos consejos para prevenir futuros problemas y responderemos a las preguntas más frecuentes.


¿Por qué se daña una base de datos MySQL?

Antes de comenzar con la reparación, es útil entender las causas más comunes. Las bases de datos MySQL pueden dañarse por:

  • Cortes de energía inesperados al escribir datos.
  • Errores del servidor (por ejemplo, falta de espacio en disco o memoria insuficiente).
  • Actualizaciones fallidas de WordPress, Joomla u otros CMS.
  • Plugins mal optimizados que realizan consultas agresivas.
  • Problemas de permisos o archivos de tabla corruptos.
  • Ataques maliciosos o inyecciones SQL.

Los síntomas típicos son mensajes como:
"Table 'nombre_tabla' is marked as crashed and should be repaired"
o
"Can't connect to local MySQL server through socket".


Paso 1: Acceder a phpMyAdmin desde cPanel

La herramienta más amigable para reparar tablas es phpMyAdmin, que viene incluida en la mayoría de los paneles de control. Sigue estos pasos:

  1. Inicia sesión en tu cPanel. La URL suele ser tudominio.com/cpanel o tudominio.com:2083.
  2. Busca la sección Bases de Datos y haz clic en phpMyAdmin.
  3. En la ventana que se abre, verás una lista de bases de datos a la izquierda. Selecciona la base de datos dañada (la que corresponde a tu sitio web).

[INFO] Si usas Syspanel (anteriormente conocido como HestiaCP), el acceso es similar. Ingresa a través del puerto 2106 (ejemplo: tudominio.com:2106) y busca la opción "phpMyAdmin" dentro del panel de bases de datos.


Paso 2: Identificar las tablas dañadas

Una vez dentro de phpMyAdmin:

  1. Haz clic en el nombre de tu base de datos (columna izquierda).
  2. Verás una lista de todas las tablas. Busca aquellas que tengan un mensaje de advertencia como "in use", "crashed" o "error".
  3. Si no ves mensajes evidentes, puedes seleccionar todas las tablas (marca la casilla superior) y luego, en el menú desplegable "Con seleccionados:", elegir "Comprobar tabla".

phpMyAdmin ejecutará una verificación y te mostrará qué tablas están dañadas.


Paso 3: Reparar las tablas dañadas

Hay dos métodos principales: desde phpMyAdmin (más visual) y desde la línea de comandos (más potente).

Método A: Reparar desde phpMyAdmin (Recomendado para principiantes)

  1. Marca las tablas que aparecen como dañadas (o selecciona todas si no estás seguro).
  2. En el menú desplegable "Con seleccionados:", elige "Reparar tabla".
  3. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará un mensaje de éxito o error.

[TIP] Si la reparación falla, prueba con "Reparar tabla" de nuevo o usa el método B.

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

Si tienes acceso SSH a tu servidor, este método es más rápido y potente.

  1. Conéctate a tu servidor mediante SSH (necesitas credenciales de root o de un usuario con permisos).
  2. Accede a MySQL con:
    mysql -u usuario -p
    (te pedirá la contraseña de la base de datos).
  3. Selecciona la base de datos:
    USE nombre_base_datos;
  4. Repara una tabla específica:
    REPAIR TABLE nombre_tabla;
  5. Para reparar todas las tablas de una base de datos, puedes usar:
    mysqlcheck -u usuario -p --auto-repair nombre_base_datos

[WARNING] No uses mysqlcheck sin conocer bien los parámetros. Si tienes dudas, mejor usa phpMyAdmin.


Paso 4: Verificar la reparación

Después de ejecutar la reparación, vuelve a comprobar el estado de las tablas:

  1. En phpMyAdmin, selecciona todas las tablas de la base de datos.
  2. En el menú desplegable, elige "Comprobar tabla".
  3. Si todo está bien, verás mensajes como "OK" o "Table is already up to date".

Si aún aparecen errores, es posible que la corrupción sea más grave y necesites restaurar desde una copia de seguridad.


Paso 5: Restaurar desde una copia de seguridad (si la reparación no funciona)

Si la reparación no resuelve el problema, deberás restaurar una copia de seguridad reciente. Para ello:

  1. Desde cPanel, ve a phpMyAdmin y selecciona tu base de datos.
  2. Haz clic en Exportar y elige "Personalizado" para marcar solo las tablas que funcionan (opcional).
  3. Luego, elimina la base de datos dañada: en cPanel, ve a "Bases de Datos MySQL" y elimínala.
  4. Crea una nueva base de datos con el mismo nombre y usuario.
  5. Importa el archivo SQL de tu copia de seguridad: en phpMyAdmin, selecciona la nueva base de datos y haz clic en Importar.

[INFO] Si no tienes copia de seguridad, puedes intentar usar herramientas como myisamchk o innodb_force_recovery, pero son avanzadas. Recomendamos contactar a tu proveedor de hosting en ese caso.


FAQ: Preguntas frecuentes sobre reparación de bases de datos MySQL

1. ¿Pierdo datos al reparar una tabla?

No, la reparación intenta recuperar la mayor cantidad de datos posible. En la mayoría de los casos no hay pérdida, pero siempre recomendamos tener una copia de seguridad antes de cualquier operación.

2. ¿Puedo reparar tablas InnoDB?

Sí, aunque el proceso es diferente. Las tablas InnoDB son más robustas, pero si se dañan, la reparación desde phpMyAdmin o REPAIR TABLE no siempre funciona. En ese caso, deberás usar herramientas como innodb_force_recovery en el archivo de configuración de MySQL.

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

Prueba a reiniciar el servicio MySQL desde cPanel (sección "Servicios" o "MySQL"). Si el problema continúa, el daño podría estar en los archivos de datos del servidor. Contacta a tu soporte técnico.

4. ¿Cómo evito que mi base de datos se dañe de nuevo?

  • Realiza copias de seguridad periódicas (puedes automatizarlas desde cPanel).
  • Mantén actualizados tu CMS, plugins y temas.
  • Evita cortes de energía usando un UPS (batería de respaldo) en tu servidor.
  • No ejecutes consultas masivas sin respaldo previo.
  • Revisa los logs de errores de MySQL periódicamente.

5. ¿Sirve reparar desde syspanel (HestiaCP)?

Sí, el proceso es el mismo. Solo recuerda que el acceso a Syspanel es a través del puerto 2106. Una vez dentro, busca phpMyAdmin o la opción de "Bases de datos" para realizar la reparación.


Consejos adicionales para mantener tu base de datos sana

  • Programa comprobaciones automáticas: En cPanel, puedes configurar tareas cron para ejecutar mysqlcheck periódicamente. Por ejemplo, una vez por semana.
  • Monitorea el espacio en disco: Si el disco se llena, MySQL puede corromper tablas. Configura alertas de uso.
  • Usa motores de almacenamiento adecuados: Para sitios web, InnoDB es más fiable que MyISAM. Si tu base de datos usa MyISAM, considera migrar a InnoDB.
  • Evita modificar tablas directamente desde phpMyAdmin si no estás seguro de lo que haces. Un mal comando SQL puede dañar los datos.

Conclusión

Reparar una base de datos MySQL dañada en cPanel es un proceso que, en la mayoría de los casos, puedes resolver tú mismo siguiendo estos pasos. La herramienta phpMyAdmin es tu mejor aliada, y si te sientes más cómodo, la línea de comandos te ofrece mayor control. Recuerda siempre tener una copia de seguridad actualizada antes de cualquier intervención.

Si después de intentar todo el problema persiste, no dudes en contactar al soporte técnico de tu hosting. Ellos tienen acceso a herramientas más avanzadas y podrán ayudarte a recuperar tus datos.

¡Esperamos que esta guía te haya sido útil! Ahora ya sabes cómo actuar si tu base de datos se daña.

¿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