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

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

Actualizado el 26 de febrero de 2026

¿Tu web ha dejado de cargar y ves un mensaje de error como "Error establishing a database connection" o "Table is marked as crashed"? No te preocupes, es un problema muy común que suele tener solución. En esta guía te voy a explicar paso a paso cómo reparar una base de datos MySQL dañada en DirectAdmin, incluso si no eres un experto en sistemas.

Vamos a ver desde qué significa que una base de datos esté "corrupta", hasta cómo ejecutar las herramientas de reparación desde el panel de control y desde la línea de comandos. También te daré trucos para prevenir futuros errores.

¿Qué significa que una base de datos MySQL esté dañada?

Imagina que tu base de datos es un archivador lleno de carpetas con fichas. Cuando el sistema se apaga de forma brusca (por un corte de luz, un fallo del servidor o un error al actualizar un plugin), algunas fichas pueden quedar mal colocadas o perder información. A esto se le llama corrupción de base de datos.

Los síntomas más frecuentes de MySQL corrupto reparar son:

  • Error "Table 'nombre_tabla' is marked as crashed".
  • Mensaje "Can't open file: 'nombre_tabla.MYI'".
  • Tu web carga en blanco o muestra un error 500.
  • Al acceder a phpMyAdmin ves tablas con el estado "in use" o "crashed".

No entres en pánico. La mayoría de las veces se puede arreglar con unas pocas órdenes. Vamos allá.

Antes de empezar: Haz una copia de seguridad

Este paso es obligatorio. Aunque las herramientas de reparación suelen ser seguras, siempre existe un pequeño riesgo de pérdida de datos. Si algo sale mal, la copia de seguridad será tu salvavidas.

Cómo hacer una copia de seguridad en DirectAdmin

  1. Accede a tu panel de DirectAdmin (normalmente en https://tudominio.com:2222).
  2. Ve a la sección "MySQL Management" o "Administrar bases de datos MySQL".
  3. Localiza la base de datos dañada. Verás una columna con el nombre de la base y al lado un icono de "Exportar" o "Descargar". Haz clic.
  4. Se descargará un archivo .sql. Guárdalo en tu ordenador.

[INFO] Si no puedes acceder a DirectAdmin, pide a tu proveedor de hosting que te facilite una copia de seguridad. Ellos suelen tener backups diarios.

Reparar la base de datos desde DirectAdmin (método fácil)

DirectAdmin incluye una herramienta gráfica llamada phpMyAdmin que permite reparar tablas con un solo clic. Es el método más rápido para DirectAdmin reparar base de datos.

Pasos para reparar con phpMyAdmin

  1. En DirectAdmin, busca el icono de "phpMyAdmin" (suele estar en la sección "Advanced Features" o "MySQL Management").
  2. Se abrirá una nueva pestaña. A la izquierda verás una lista con tus bases de datos. Haz clic en la que está dañada.
  3. Aparecerán todas las tablas de esa base de datos. Marca la casilla de la tabla que muestra el error (o márcalas todas si no estás seguro).
  4. En el menú desplegable inferior (donde pone "Con seleccionadas:"), elige la opción "Reparar tabla".
  5. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará un mensaje como "OK" o "Table is already up to date".

Si todo ha ido bien, tu web debería volver a funcionar. Si el error persiste, prueba con el método avanzado.

[TIP] Si la tabla es muy grande, la reparación puede tardar unos segundos. No cierres la ventana ni recargues la página.

Reparar la base de datos por línea de comandos (método avanzado)

Si el método gráfico no funciona, o si el error es más grave (por ejemplo, "Table 'xxx' is marked as crashed and should be repaired"), necesitarás usar la terminal del servidor. No te asustes, solo son dos comandos.

Requisitos previos

  • Tener acceso SSH al servidor. Si no sabes qué es, pide a tu hosting que te dé acceso o que ejecuten estos comandos por ti.
  • Conocer el nombre de la base de datos, el usuario y la contraseña. Los tienes en DirectAdmin, en la sección "MySQL Management".

Paso 1: Conéctate por SSH

Abre un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux) y conéctate a tu servidor:

ssh usuario@tudominio.com

Te pedirá tu contraseña. Escríbela (no se ve mientras escribes) y pulsa Enter.

Paso 2: Accede a MySQL

Una vez dentro, escribe:

mysql -u usuario_bd -p

Sustituye usuario_bd por el nombre de usuario de tu base de datos. Te pedirá la contraseña. Escríbela.

Paso 3: Selecciona la base de datos dañada

USE nombre_de_tu_base_de_datos;

Paso 4: Repara todas las tablas

Ejecuta:

REPAIR TABLE nombre_tabla;

Si quieres reparar todas las tablas de una vez, puedes usar:

REPAIR TABLE `tu_tabla1`, `tu_tabla2`;

O, para saber qué tablas están dañadas, primero ejecuta:

CHECK TABLE nombre_tabla;

Luego repara solo las que aparezcan como "crashed".

Paso 5: Verifica que todo está bien

Vuelve a ejecutar:

CHECK TABLE nombre_tabla;

El resultado debería decir "OK" en la columna Msg_text.

[WARNING] Si el comando REPAIR TABLE falla, puede ser que la tabla esté muy dañada. En ese caso, intenta REPAIR TABLE nombre_tabla USE_FRM;. Si aun así no funciona, deberás restaurar desde la copia de seguridad.

Errores comunes y soluciones rápidas

Error: "Table 'xxx' is marked as crashed and last (automatic?) repair failed"

Esto suele pasar cuando la tabla tiene daños en los archivos físicos. Prueba esto:

  1. Detén MySQL (si tienes acceso root): systemctl stop mysql.
  2. Ve al directorio de datos: cd /var/lib/mysql/tu_base_de_datos.
  3. Busca el archivo .MYI de la tabla dañada.
  4. Ejecuta: myisamchk -r nombre_tabla.MYI.
  5. Reinicia MySQL: systemctl start mysql.

Error: "Can't connect to local MySQL server through socket"

Esto no es un problema de corrupción, sino que el servicio MySQL no está corriendo. En DirectAdmin, ve a "Service Monitor" y asegúrate de que "MySQL" esté en verde. Si está rojo, haz clic en "Start".

¿Cómo prevenir futuros daños en la base de datos?

La mejor cura es la prevención. Sigue estos consejos para evitar tener que reparar base de datos MySQL de nuevo:

  • Usa un cortafuegos y limita el acceso a MySQL: No expongas el puerto 3306 a internet.
  • Actualiza tu CMS y plugins: Las versiones antiguas suelen tener bugs que corrompen tablas.
  • Realiza backups automáticos: Configura en DirectAdmin la opción de "Backup/Restore" para que haga copias diarias.
  • Evita interrupciones bruscas: Si tienes un VPS, usa un sistema de alimentación ininterrumpida (UPS) o contrata un hosting con garantía de uptime.
  • Optimiza las tablas periódicamente: En phpMyAdmin, selecciona todas las tablas y elige "Optimizar tabla" una vez al mes.

Preguntas frecuentes (FAQ)

¿Puedo reparar la base de datos sin perder datos?

Sí, las herramientas de reparación (REPAIR TABLE, myisamchk) intentan recuperar la información. Sin embargo, si la tabla está muy dañada, puede perder algunas filas. Por eso la copia de seguridad es clave.

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

Si tras varios intentos el error persiste, deberás restaurar desde la copia de seguridad que hiciste al principio. En DirectAdmin, ve a "MySQL Management", elimina la base dañada y crea una nueva con el mismo nombre. Luego, en phpMyAdmin, importa el archivo .sql que descargaste.

¿El proceso es igual en Syspanel (HestiaCP)?

Sí, los comandos SQL son los mismos. Si usas Syspanel (antes conocido como HestiaCP), accede al panel por el puerto 2106 (ejemplo: https://tudominio.com:2106). Allí encontrarás la sección de bases de datos y phpMyAdmin para reparar tablas. El resto del proceso es idéntico.

¿Necesito conocimientos de programación para esto?

No. Con los pasos de esta guía, cualquier persona con acceso a DirectAdmin puede reparar una base de datos MySQL dañada. Si te atascas, tu proveedor de hosting también puede hacerlo por ti.

Conclusión

Reparar una base de datos MySQL dañada en DirectAdmin es un proceso sencillo si sabes por dónde empezar. Ya sea desde phpMyAdmin con un clic, o mediante comandos SSH para casos más complejos, lo importante es no perder la calma y seguir los pasos ordenados.

Recuerda: la prevención es tu mejor aliada. Haz copias de seguridad periódicas y mantén tu web actualizada. Si alguna vez vuelves a ver el temido "Table is marked as crashed", ya sabes cómo solucionarlo.

[TIP] Guarda esta guía en favoritos. Te será útil más de una vez. Y si todo falla, contacta con el soporte técnico de tu hosting; ellos tienen herramientas más avanzadas para MySQL corrupto reparar.

¿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