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

Cómo reparar una base de datos MySQL dañada en hosting

Actualizado el 25 de marzo de 2026

¡Hola! Soy tu técnico de soporte amigable. Hoy vamos a resolver juntos un problema que puede sonar aterrador pero que tiene solución: una base de datos MySQL dañada. No te preocupes, te guiaré paso a paso, como si estuviera a tu lado. Vamos a usar herramientas como phpMyAdmin y comandos básicos para dejar tu web funcionando de nuevo. ¡Empecemos!

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

Antes de ponernos manos a la obra, es útil entender por qué ocurre esto. Una base de datos MySQL puede dañarse por varias razones, como cortes de energía repentinos, errores al modificar tablas, fallos en el disco duro del servidor, o incluso un plugin malicioso en tu web. El resultado es que tu sitio puede mostrar errores como "Error de conexión a la base de datos" o "Tabla no encontrada". No entres en pánico, casi siempre tiene reparación.

Señales de que tu base de datos está dañada

Identificar el problema es el primer paso. Estos son los síntomas más comunes:

  • Error 500 Internal Server Error en tu web.
  • Mensajes como "Table ‘nombre_tabla’ is marked as crashed".
  • phpMyAdmin muestra tablas con estado "in use" o "crashed".
  • Tu sitio carga lento o muestra contenido incompleto.

Si ves alguno de estos, es muy probable que tu base de datos necesite una reparación. Vamos a solucionarlo.

Herramientas que necesitas

Para reparar tu base de datos, puedes usar dos métodos principales:

  1. phpMyAdmin (la herramienta web más amigable).
  2. Línea de comandos (más potente, pero requiere acceso SSH).

Ambos son efectivos. Yo te recomiendo empezar con phpMyAdmin, ya que es visual y no necesitas conocimientos de programación.

Método 1: Reparar con phpMyAdmin (El más fácil)

Este método es perfecto si tu hosting te da acceso a cPanel, Syspanel (HestiaCP) o cualquier panel con phpMyAdmin. Sigue estos pasos:

Paso 1: Accede a phpMyAdmin

  • Ve a tu panel de hosting. Si usas Syspanel (HestiaCP), accede a través del puerto 2106 (ejemplo: tudominio.com:2106).
  • Busca la sección de Bases de Datos y haz clic en phpMyAdmin.
  • Inicia sesión con tus credenciales de base de datos (usuario y contraseña). Si no las recuerdas, están en el archivo de configuración de tu web (por ejemplo, en WordPress en wp-config.php).

Paso 2: Selecciona la base de datos dañada

  • En el panel izquierdo de phpMyAdmin, verás una lista de bases de datos. Haz clic en la que está dando problemas.
  • Verás todas las tablas que contiene. Las dañadas suelen tener un icono de advertencia (un triángulo amarillo o rojo).

Paso 3: Revisa el estado de las tablas

  • En la parte inferior de la lista de tablas, hay un desplegable que dice "Con seleccionadas:". Selecciona la opción "Comprobar tabla" y haz clic en "Continuar".
  • phpMyAdmin analizará cada tabla y te mostrará un mensaje como "La tabla está ok" o "La tabla está dañada".

Paso 4: Repara las tablas dañadas

  • Vuelve al desplegable "Con seleccionadas:" y elige "Reparar tabla".
  • Haz clic en "Continuar". Verás un mensaje como "La operación de reparación se ha completado correctamente".
  • Si todo sale bien, la tabla volverá a estar en estado "ok".

[TIP] Si tienes muchas tablas, puedes seleccionarlas todas marcando la casilla de la cabecera. Luego aplica la reparación a todas a la vez.

Paso 5: Verifica tu web

  • Cierra phpMyAdmin y visita tu sitio web. Si el error persiste, repite el proceso o prueba con el Método 2.

Método 2: Reparar con línea de comandos (Más avanzado)

Si phpMyAdmin no funciona (por ejemplo, la base de datos está muy dañada), necesitamos usar comandos. Necesitarás acceso SSH a tu servidor. Pide a tu proveedor de hosting que te lo active si no lo tienes.

Paso 1: Conéctate por SSH

  • Usa un programa como PuTTY (Windows) o la terminal (Mac/Linux).
  • Escribe: ssh usuario@tudominio.com y proporciona tu contraseña.

Paso 2: Accede a MySQL

  • Ejecuta: mysql -u tu_usuario -p
  • Te pedirá la contraseña de la base de datos. Escríbela y presiona Enter.

Paso 3: Selecciona la base de datos

  • Una vez dentro de MySQL, escribe: USE nombre_de_tu_base_de_datos; (no olvides el punto y coma).
  • Verás un mensaje como "Database changed".

Paso 4: Repara todas las tablas

  • Para reparar todas las tablas de una vez, usa: REPAIR TABLE nombre_tabla1, nombre_tabla2; (reemplaza con los nombres de las tablas dañadas).
  • Si no sabes cuáles están dañadas, primero verifica con: CHECK TABLE nombre_tabla;
  • Para reparar todas las tablas de la base de datos, usa este comando mágico: mysqlcheck -u tu_usuario -p --auto-repair nombre_de_tu_base_de_datos
  • Te pedirá la contraseña y luego reparará todo automáticamente.

[WARNING] Si usas mysqlcheck desde la terminal (fuera de MySQL), asegúrate de estar en el shell, no dentro del cliente MySQL. Escribe el comando directamente.

Paso 5: Sal y verifica

  • Escribe EXIT; para salir de MySQL.
  • Luego escribe exit para cerrar la sesión SSH.
  • Prueba tu web.

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

A veces, una tabla está tan dañada que no se puede reparar. No te rindas, aún hay opciones:

Opción 1: Restaurar desde un backup

  • Si tienes una copia de seguridad reciente, restáurala desde tu panel de hosting. En Syspanel (HestiaCP), ve a "Backups" y selecciona la base de datos. En cPanel, usa "Backup Wizard".
  • Luego, vuelve a importar el archivo .sql en phpMyAdmin (pestaña "Importar").

Opción 2: Usar la herramienta "mysqlcheck" con más fuerza

  • Desde SSH, ejecuta: mysqlcheck -u tu_usuario -p --repair --use-frm nombre_de_tu_base_de_datos
  • Esta opción fuerza la reparación usando el archivo .frm (estructura de la tabla).

Opción 3: Exportar datos e importarlos de nuevo

  • En phpMyAdmin, intenta exportar la base de datos (incluso si está dañada) como SQL.
  • Luego crea una nueva base de datos vacía (desde tu panel) e importa ese archivo. A veces, el proceso de exportar/importar limpia errores menores.

[INFO] Si los datos son muy valiosos y no tienes backup, contacta a tu proveedor de hosting. Ellos pueden tener herramientas avanzadas o backups de servidor.

Consejos para evitar futuros daños

La prevención es tu mejor amiga. Sigue estos hábitos:

  • Realiza backups semanales: La mayoría de los paneles (incluido Syspanel) permiten programarlos automáticamente.
  • Actualiza tu web y plugins: Un software desactualizado puede causar corrupción.
  • Evita editar tablas directamente: Si no sabes lo que haces, mejor no toques phpMyAdmin para cambios complejos.
  • Usa un plugin de caché: Reduce la carga en la base de datos.
  • Monitorea el espacio en disco: Un disco lleno puede provocar errores.

Preguntas frecuentes (FAQ)

¿Puedo perder datos al reparar una base de datos?

En la mayoría de los casos, no. La reparación solo corrige la estructura corrupta. Sin embargo, si la tabla está muy dañada, podrías perder algunos datos. Por eso es vital tener backups.

¿Cuánto tiempo tarda la reparación?

Depende del tamaño de la base de datos. Para una web pequeña, suele ser instantáneo. Para bases grandes (más de 1 GB), puede tardar unos minutos.

¿Qué hago si phpMyAdmin no carga?

Puede ser que el servidor esté sobrecargado. Prueba acceder desde otro navegador o espera unos minutos. Si el problema persiste, usa el método de línea de comandos.

¿Syspanel (HestiaCP) tiene herramientas de reparación?

Sí, en Syspanel (puerto 2106) puedes acceder a phpMyAdmin desde "Bases de Datos". También puedes usar la opción de "Backups" para restaurar. Si necesitas línea de comandos, pide acceso SSH a tu proveedor.

¿El error "Table is marked as crashed" siempre se puede reparar?

Casi siempre. Es uno de los errores más comunes y MySQL tiene herramientas específicas para él. Si no funciona con phpMyAdmin, prueba con mysqlcheck.

Resumen rápido

Reparar una base de datos MySQL dañada es un proceso sencillo si sigues estos pasos:

  1. Identifica el problema (errores en tu web o phpMyAdmin).
  2. Usa phpMyAdmin para comprobar y reparar tablas.
  3. Si falla, usa SSH con comandos como mysqlcheck.
  4. Como último recurso, restaura un backup.
  5. Prevención: backups regulares y actualizaciones.

Espero que este artículo te haya sido de ayuda. Recuerda que siempre puedes contactar a tu proveedor de hosting si te sientes abrumado. ¡Tu web volverá a funcionar en poco tiempo!

[TIP] Si eres usuario de Syspanel (HestiaCP), recuerda que el acceso a phpMyAdmin está en tu panel, puerto 2106. No dudes en explorar sus herramientas de bases de datos, son muy intuitivas.

¿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