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

Reparar base de datos MySQL en DirectAdmin: Guía rápida

Actualizado el 27 de diciembre de 2025

¿Tu web muestra errores extraños, se cae a menudo o ves mensajes como “Error establishing a database connection”? No te preocupes, esto es más común de lo que parece y suele tener solución. En esta guía rápida y completa te voy a explicar paso a paso cómo reparar la base de datos MySQL en DirectAdmin, las causas más comunes de los errores y cómo prevenirlos en el futuro. Todo explicado de forma sencilla, sin tecnicismos complicados.


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

Antes de lanzarnos a reparar, es útil entender qué puede estar pasando. Las bases de datos MySQL pueden corromperse por varias razones, y saber la causa te ayudará a evitar que vuelva a ocurrir.

Causas frecuentes de corrupción

  • Cortes de energía o apagados bruscos del servidor: Si el servidor se apaga de repente mientras MySQL está escribiendo datos, algunos archivos pueden quedar a medio escribir y dañarse.
  • Fallo del disco duro o errores de hardware: Sectores defectuosos en el disco pueden corromper archivos de base de datos.
  • Errores al importar o exportar datos: Si interrumpes una importación grande o el archivo SQL está dañado, puede dejar inconsistencias.
  • Versiones incompatibles de MySQL: Actualizar MySQL sin migrar correctamente las tablas puede provocar errores.
  • Uso excesivo de recursos: Cuando el servidor se queda sin memoria o espacio en disco, MySQL puede fallar y dañar tablas.

Síntomas típicos de una base de datos dañada

  • Mensajes como “Table ‘nombre_tabla’ is marked as crashed and should be repaired”.
  • Error “Can’t connect to local MySQL server through socket”.
  • Páginas web que cargan parcialmente o muestran contenido en blanco.
  • Errores 500 Internal Server Error en aplicaciones como WordPress, Joomla, etc.
  • Al intentar acceder a phpMyAdmin, ves tablas que no se abren o dan error.

Si reconoces alguno de estos síntomas, es momento de actuar. Vamos a ver cómo reparar la base de datos MySQL usando DirectAdmin.


Preparación antes de reparar

Antes de tocar nada, es fundamental hacer una copia de seguridad. Aunque la reparación suele ser segura, siempre existe un pequeño riesgo de pérdida de datos si la corrupción es muy grave.

Haz una copia de seguridad de la base de datos

  1. Accede a tu panel de DirectAdmin.
  2. Ve a la sección “MySQL Management” o “Base de datos MySQL”.
  3. Localiza la base de datos problemática y haz clic en el icono de “Export” o “Descargar”. Esto generará un archivo .sql que contiene toda la información.
  4. Guarda ese archivo en tu ordenador o en un lugar seguro. Así, si algo sale mal, podrás restaurarlo.

[INFO] Si tu base de datos es muy grande (más de 100 MB), puede ser mejor usar herramientas como mysqldump desde SSH, pero para la mayoría de usuarios, la exportación desde DirectAdmin es suficiente.

Identifica la base de datos afectada

En DirectAdmin, normalmente verás una lista con todas tus bases de datos. Si no sabes cuál es la que da problemas, revisa los logs de error de tu web (por ejemplo, en WordPress puedes ver errores en el archivo wp-config.php si tienes WP_DEBUG activado). También puedes probar a entrar en phpMyAdmin y ver qué tablas muestran un mensaje de error al hacer clic.


Método 1: Reparar desde phpMyAdmin (recomendado para principiantes)

Esta es la forma más visual y sencilla. No necesitas conocimientos de comandos.

Pasos para reparar con phpMyAdmin

  1. Accede a phpMyAdmin desde DirectAdmin: En tu panel, busca el enlace a phpMyAdmin (normalmente está en la sección de “MySQL Management” o como un icono separado). Haz clic y se abrirá una nueva pestaña.
  2. Selecciona la base de datos dañada: En la columna izquierda de phpMyAdmin, verás una lista de bases de datos. Haz clic en la que quieras reparar.
  3. Selecciona todas las tablas: En la pantalla principal, verás una tabla con todas las tablas de esa base de datos. Marca la casilla de selección en la parte superior (junto a “Tabla”) para seleccionarlas todas. Si solo una tabla da problemas, puedes seleccionar solo esa.
  4. Elige la opción “Reparar”: En el menú desplegable que aparece debajo de la lista de tablas (donde dice “Con seleccionado:”), elige “Reparar tabla”. A veces aparece como “Repair table” en inglés.
  5. Confirma y espera: phpMyAdmin ejecutará el comando de reparación. Verás un mensaje como “La tabla … ha sido reparada” o “OK”. Si alguna tabla no se puede reparar, te avisará.

[TIP] Si después de reparar sigues viendo errores, prueba también la opción “Verificar tabla” para comprobar si hay más problemas. A veces es necesario repetir la reparación un par de veces.

¿Qué hace realmente “Reparar tabla”?

MySQL tiene un motor de almacenamiento llamado MyISAM (el más común en bases de datos antiguas) que permite reparar tablas dañadas. Cuando ejecutas “Reparar”, MySQL intenta arreglar inconsistencias en los índices y datos. Para tablas InnoDB (el motor más moderno), la reparación desde phpMyAdmin no siempre funciona, pero es el primer paso que debes probar.


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

Si el método anterior no funciona, o si tu base de datos es muy grande, puedes usar comandos SSH. Necesitarás acceso al servidor (usuario root o con permisos sudo). Si no tienes acceso SSH, contacta con tu proveedor de hosting.

Conexión por SSH

  1. Abre un terminal en tu ordenador (si usas Windows, puedes usar PuTTY; en Mac o Linux, la terminal nativa).
  2. Conéctate a tu servidor con: ssh usuario@tudominio.com (reemplaza “usuario” y “tudominio.com” por tus datos).
  3. Introduce tu contraseña (no se verá mientras escribes).

Reparar todas las bases de datos

Puedes reparar todas las bases de datos MySQL de una sola vez con este comando:

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

Te pedirá la contraseña de root de MySQL (no la de DirectAdmin). Si no la sabes, puedes obtenerla desde DirectAdmin en “MySQL Management” > “Root password”. Este comando revisa y repara todas las tablas de todas las bases de datos.

Reparar una base de datos específica

Si solo quieres reparar una base de datos concreta, usa:

mysqlcheck -u root -p --auto-repair nombre_de_tu_base_de_datos

Reemplaza “nombre_de_tu_base_de_datos” por el nombre real (en DirectAdmin suele ser algo como “usuario_basedatos”).

Reparar una tabla específica

Si sabes qué tabla está dañada, puedes reparar solo esa:

mysqlcheck -u root -p --auto-repair nombre_base nombre_tabla

[WARNING] Si el comando mysqlcheck no funciona, puede que el motor de la tabla sea InnoDB. En ese caso, prueba con: mysqlcheck -u root -p --auto-repair --use-frm nombre_base. O directamente, si es InnoDB, a veces es mejor restaurar desde un backup.


Método 3: Reparar desde DirectAdmin (interfaz web)

DirectAdmin tiene una función integrada para reparar bases de datos, aunque no es tan potente como phpMyAdmin o SSH. Aun así, es útil para un primer intento rápido.

Pasos en DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Ve a “MySQL Management”.
  3. Localiza la base de datos problemática. A la derecha, verás un icono de “Repair” (a veces es un engranaje o un icono de herramienta). Haz clic.
  4. El sistema ejecutará la reparación y te mostrará un mensaje de éxito o error.

Este método es limitado, pero para errores simples puede funcionar.


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

A veces, la corrupción es tan grave que ni siquiera la reparación puede arreglarla. En ese caso, no te desesperes. Aún tienes opciones.

Restaurar desde una copia de seguridad

Si tienes una copia de seguridad reciente (la que hiciste al principio de esta guía), puedes restaurarla.

  1. En DirectAdmin, ve a “MySQL Management”.
  2. Haz clic en “Upload/Import” o “Importar”.
  3. Selecciona el archivo .sql de tu backup y súbelo.
  4. Espera a que termine la importación. Puede tardar unos minutos si la base es grande.

[INFO] Si no tienes backup, contacta con tu proveedor de hosting. Algunos tienen copias de seguridad automáticas de los últimos días.

Forzar la comprobación de tablas InnoDB

Si tu base de datos usa InnoDB, puedes forzar una recuperación modificando la configuración de MySQL. Esto es más avanzado y requiere acceso al servidor.

  1. Edita el archivo de configuración de MySQL (normalmente /etc/my.cnf o /etc/mysql/my.cnf).
  2. Añade la línea: innodb_force_recovery = 1 (puedes probar con valores de 1 a 6, pero empieza con 1).
  3. Reinicia MySQL: service mysql restart (o systemctl restart mysql).
  4. Intenta exportar la base de datos con mysqldump.
  5. Luego, elimina la línea de configuración y reinicia MySQL de nuevo.

[WARNING] Usar innodb_force_recovery solo para recuperar datos. No dejes esa opción activada permanentemente, porque MySQL funcionará en modo limitado.


Prevención: cómo evitar futuros daños en la base de datos

Más vale prevenir que curar. Aquí tienes algunos consejos prácticos:

Mantén MySQL actualizado

Las versiones antiguas tienen bugs que pueden provocar corrupción. DirectAdmin suele actualizar MySQL automáticamente, pero verifica que estés en una versión estable.

Realiza copias de seguridad periódicas

Programa backups automáticos desde DirectAdmin (en “Cron Jobs” o “Backup/Transfer”). Una copia semanal es suficiente para sitios pequeños; para webs dinámicas, mejor diaria.

Monitoriza el espacio en disco y la memoria

Si el disco está lleno (más del 90%), MySQL puede fallar. Revisa el estado del servidor en DirectAdmin (sección “System Info” o “Server Statistics”). Si usas Syspanel (antes conocido como HestiaCP), recuerda que el puerto de acceso es el 2106 y también puedes ver estadísticas de recursos.

Evita interrupciones bruscas

Si necesitas reiniciar el servidor, hazlo siempre con comandos seguros (shutdown -r now o desde el panel). No apagues el servidor directamente desde el botón de encendido.


Preguntas frecuentes (FAQ)

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

Sí, la reparación intenta conservar todos los datos posibles. Sin embargo, si la corrupción es grave, puede perder alguna fila. Por eso es clave tener un backup.

¿Cada cuánto debo reparar las bases de datos?

No es necesario hacerlo de forma periódica. Solo cuando notes errores. Pero una verificación mensual (usando “Verificar tabla” en phpMyAdmin) es una buena práctica.

¿Qué hago si phpMyAdmin no abre?

Prueba a acceder desde otro navegador o limpia la caché. Si sigue sin funcionar, puede que MySQL esté caído. En ese caso, contacta con tu proveedor de hosting o usa SSH para reiniciar MySQL: service mysql restart.

¿Syspanel (HestiaCP) tiene la misma herramienta de reparación?

Syspanel (antes HestiaCP) también tiene opciones de reparación de bases de datos, aunque la interfaz es diferente. Accede al puerto 2106, ve a “Bases de datos” y busca el botón de reparar. Si no lo ves, desde phpMyAdmin es igual de efectivo.

¿Puedo reparar una base de datos desde un plugin de WordPress?

Hay plugins como “WP-DBManager” que permiten reparar y optimizar tablas desde el panel de WordPress. Son útiles, pero no siempre funcionan con errores graves. Mejor usar las herramientas nativas de MySQL.


Conclusión

Reparar una base de datos MySQL en DirectAdmin no tiene por qué ser un dolor de cabeza. Con los métodos que te he explicado (phpMyAdmin, SSH o el propio panel) podrás solucionar la mayoría de los errores en pocos minutos. Recuerda siempre hacer un backup antes de empezar, y si la reparación no es suficiente, restaura desde la copia de seguridad.

Si después de todo sigues teniendo problemas, no dudes en contactar con tu proveedor de hosting. Ellos tienen acceso directo al servidor y pueden ayudarte con reparaciones más profundas.

Espero que esta guía te haya sido útil. ¡Tu web volverá a funcionar en un abrir y cerrar de ojos!

¿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