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

Cómo reparar tablas de una base de datos en DirectAdmin

Actualizado el 11 de enero de 2026

¿Tu web o aplicación deja de funcionar de repente y te muestra errores molestos como "Error en la base de datos", "Table is marked as crashed" o "Can't connect to MySQL server"? Es muy probable que tengas una base de datos dañada. No te preocupes, es un problema más común de lo que crees y, afortunadamente, tiene solución.

En esta guía extensa y paso a paso, te voy a enseñar cómo reparar tablas DirectAdmin usando las herramientas que ya tienes a tu disposición. Hablaremos de por qué ocurre, cómo detectarlo y, lo más importante, cómo solucionarlo desde phpMyAdmin y desde la línea de comandos. Al final, incluyo una sección de preguntas frecuentes para resolver las dudas más comunes.

Vamos a ponernos manos a la obra.


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

Antes de reparar, es útil saber por qué ocurre. Las bases de datos (normalmente MySQL o MariaDB) pueden corromperse por varias razones. Las más frecuentes son:

  • Cortes de energía o apagados bruscos del servidor. Si el servidor se apaga mientras se está escribiendo en la base de datos, algunos archivos pueden quedar a medias.
  • Errores en el disco duro. Sectores defectuosos en el disco pueden dañar los archivos físicos de la base de datos.
  • Scripts o plugins defectuosos. Un plugin de WordPress o una actualización de tu CMS que no se completó correctamente puede dejar tablas en un estado inconsistente.
  • Sobrecarga del servidor. Cuando el servidor está al límite de recursos, las operaciones de lectura/escritura pueden fallar.
  • Versiones incompatibles. Actualizar MySQL/MariaDB sin migrar correctamente los datos puede provocar corrupción.

Identificar la causa raíz es importante para evitar que vuelva a suceder, pero lo primero es recuperar tu sitio.


Señales de una base de datos dañada en DirectAdmin

¿Cómo saber si realmente necesitas reparar tablas DirectAdmin? Estate atento a estos síntomas:

  • Errores en pantalla blanca (White Screen of Death). Especialmente en WordPress.
  • Mensajes como "Error establishing a database connection".
  • Tablas que no se muestran correctamente en phpMyAdmin. Aparecen con un icono de advertencia o con la etiqueta "in use", "crashed" o "error".
  • Parte del contenido de tu web no se carga. Por ejemplo, la página de inicio funciona pero los posts no.
  • Errores en el registro de errores de tu aplicación (log). Busca términos como "Table is marked as crashed", "repair", "corrupt" o "MySQL server has gone away".

Si ves alguno de estos síntomas, no entres en pánico. El proceso de reparación es sencillo.


Método 1: Reparar tablas desde phpMyAdmin (La forma más fácil)

Este es el método recomendado para la mayoría de usuarios, ya que es visual y no requiere conocimientos de comandos. phpMyAdmin reparar tablas es una de las funciones más útiles que tiene.

Paso 1: Accede a phpMyAdmin desde DirectAdmin

  1. Inicia sesión en tu panel de DirectAdmin.
  2. Busca la sección "Administración de Cuentas" o el icono de "Base de Datos MySQL". El nombre exacto puede variar ligeramente según la versión, pero suele estar en la página principal.
  3. Dentro de la sección de bases de datos, verás un enlace o botón que dice "phpMyAdmin". Haz clic en él. Se abrirá una nueva pestaña o ventana con la interfaz de phpMyAdmin.

[INFO] Si no ves phpMyAdmin, puede que tu proveedor de hosting no lo tenga instalado. En ese caso, salta al Método 2 (línea de comandos).

Paso 2: Selecciona la base de datos dañada

En el panel izquierdo de phpMyAdmin, verás una lista con todas tus bases de datos. Haz clic en el nombre de la base de datos que sospechas que está dañada (la que usa tu web o aplicación). Verás que a la derecha aparecen todas las tablas que contiene.

Paso 3: Identifica y selecciona las tablas a reparar

Revisa la lista de tablas. Busca aquellas que tengan un estado anormal. phpMyAdmin suele mostrar un mensaje en la fila de la tabla, como "Table is marked as crashed" o "in use". También puedes fijarte en el tamaño: una tabla dañada a veces muestra un tamaño de 0 bytes o un número de filas incorrecto.

Para seleccionar las tablas problemáticas:

  1. Marca la casilla de verificación (checkbox) que está a la izquierda del nombre de cada tabla que quieras reparar.
  2. Si no estás seguro de cuáles están dañadas, puedes seleccionarlas todas (marca la casilla superior que selecciona todas).

Paso 4: Ejecuta la reparación

Una vez seleccionadas las tablas, busca en la parte inferior de la página (justo debajo de la lista de tablas) un menú desplegable que suele decir "Con seleccionados:" o "Seleccionar todo". Despliega ese menú y elige la opción "Reparar tabla" (Repair table).

phpMyAdmin ejecutará el comando REPAIR TABLE para cada una de las tablas seleccionadas. Verás una pantalla con los resultados. Lo normal es que aparezca un mensaje verde que diga "OK" o "Table is already up to date". Si ves algún error rojo, anótalo, pero generalmente la reparación es exitosa.

[TIP] Después de reparar, es buena práctica ejecutar también "Optimizar tabla" desde el mismo menú desplegable. Esto no repara, pero reorganiza el espacio y mejora el rendimiento.


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

Si no tienes acceso a phpMyAdmin o prefieres usar la terminal (por ejemplo, porque eres más técnico o necesitas reparar muchas tablas a la vez), este método es muy potente. Necesitarás acceso SSH a tu servidor.

Paso 1: Conéctate al servidor por SSH

Usa un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux) y conéctate con tu usuario y contraseña de DirectAdmin. Normalmente, el usuario con el que accedes a DirectAdmin es el mismo que usas para SSH.

Paso 2: Accede a MySQL desde la terminal

Una vez conectado, escribe el siguiente comando para iniciar el cliente de MySQL. Te pedirá la contraseña de la base de datos (la misma que usas para phpMyAdmin).

mysql -u tu_usuario -p

[WARNING] Reemplaza tu_usuario por tu nombre de usuario real de la base de datos. Cuidado con los guiones y espacios.

Después de escribir la contraseña, verás el prompt de MySQL: mysql>.

Paso 3: Selecciona la base de datos a reparar

Dentro de MySQL, escribe el siguiente comando para usar la base de datos que quieres reparar. Reemplaza nombre_base_datos por el nombre real (lo puedes ver en DirectAdmin).

USE nombre_base_datos;

Paso 4: Repara las tablas una por una o todas a la vez

Tienes dos opciones:

Opción A: Reparar una tabla específica
Si sabes qué tabla está dañada (por ejemplo, wp_posts), escribe:

REPAIR TABLE nombre_tabla;

Opción B: Reparar todas las tablas de la base de datos (Recomendado)
Este es el método más rápido si no sabes cuál está mal. Ejecuta este comando para generar automáticamente los comandos REPAIR TABLE para todas las tablas:

SELECT CONCAT('REPAIR TABLE ', table_name, ';') FROM information_schema.tables WHERE table_schema = 'nombre_base_datos';

Esto te mostrará una lista de comandos. Copia esa lista, pégala en el prompt de MySQL y ejecútala. También puedes hacerlo en un solo paso más avanzado, pero para principiantes, copiar y pegar es más seguro.

[INFO] Después de reparar, puedes optimizar todas las tablas con un comando similar, cambiando REPAIR por OPTIMIZE.

Paso 5: Sal de MySQL

Cuando termines, escribe EXIT; y presiona Enter para volver a la terminal del servidor.


¿Qué hacer si la reparación falla?

A veces, una tabla está tan dañada que ni siquiera el comando REPAIR puede arreglarla. No te desesperes, aún tienes opciones:

  1. Intenta con REPAIR TABLE nombre_tabla USE_FRM; Este comando intenta reconstruir la tabla usando el archivo .frm (definición de la tabla) si el archivo de datos .ibd (InnoDB) o .MYD (MyISAM) está corrupto.
  2. Restaura desde una copia de seguridad. Esta es la solución más fiable. Si tienes una copia de seguridad reciente (¡deberías!), restaura la base de datos completa desde phpMyAdmin o desde la línea de comandos. En DirectAdmin, suele haber una sección de "Copia de seguridad" donde puedes descargar o restaurar backups.
  3. Usa mysqlcheck desde la terminal. Es una herramienta de línea de comandos que puede reparar, verificar y optimizar tablas. El comando básico es:
    mysqlcheck -u tu_usuario -p --auto-repair nombre_base_datos
    
    La opción --auto-repair intenta reparar automáticamente las tablas que encuentre dañadas.

Si ninguna de estas opciones funciona, puede que el daño sea estructural en los archivos del servidor. En ese caso, contacta con tu proveedor de hosting y explícales que tienes una base de datos dañada DirectAdmin y que necesitas asistencia técnica a nivel de servidor.


Preguntas Frecuentes (FAQ)

Aquí respondo a las dudas más habituales sobre cómo reparar tablas DirectAdmin.

1. ¿Con qué frecuencia debo reparar mis tablas?

No es necesario hacerlo de forma rutinaria. Repara solo cuando notes síntomas de error. Sin embargo, es buena práctica optimizar las tablas una vez al mes para mantener el rendimiento.

2. ¿La reparación borra datos?

No, el comando REPAIR no borra datos. Intenta reconstruir los índices y corregir inconsistencias sin eliminar filas. Sin embargo, si la tabla está muy dañada, es posible que pierdas algunos datos recientes no guardados. Por eso es vital tener copias de seguridad.

3. ¿Qué diferencia hay entre reparar y optimizar?

  • Reparar: Arregla errores estructurales y de corrupción.
  • Optimizar: Reorganiza el espacio físico, libera espacio no utilizado y mejora la velocidad de acceso. No corrige errores de corrupción.

4. ¿Puedo reparar una base de datos mientras mi web está en línea?

Sí, phpMyAdmin y los comandos de MySQL permiten reparar mientras la web está activa, pero es mejor hacerlo en horas de bajo tráfico. Durante la reparación, la tabla se bloquea brevemente, lo que podría causar errores temporales a los visitantes.

5. ¿Y si uso Syspanel (antes HestiaCP)?

Si tu panel es Syspanel (el antiguo HestiaCP), el proceso es muy similar. Accede a tu panel a través del puerto 2106 (ejemplo: https://tudominio.com:2106). Dentro, busca la sección de bases de datos y luego el enlace a phpMyAdmin. Los pasos para reparar desde phpMyAdmin son idénticos. La línea de comandos también funciona igual.

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

Prueba a reparar desde la línea de comandos (Método 2) o a usar mysqlcheck --auto-repair. Si sigue fallando, restaura la copia de seguridad más reciente. Si no tienes copia, contacta al soporte técnico de tu hosting.


Conclusión

Saber cómo reparar tablas DirectAdmin es una habilidad esencial para cualquier persona que gestione un sitio web. Ya sea desde la comodidad de phpMyAdmin reparar tablas o desde la potencia de la línea de comandos, el proceso es rápido y no requiere ser un experto en bases de datos.

Recuerda siempre tener una copia de seguridad actualizada. Es tu mejor seguro ante cualquier problema. Y si alguna vez te encuentras con una base de datos dañada DirectAdmin, ya sabes exactamente qué hacer.

¡Espero que esta guía te haya sido de gran ayuda! Si tienes más dudas, no dudes en consultar la documentación de tu proveedor de hosting o preguntar en los foros de soporte.

¿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