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

¿Cómo reparar tablas corruptas en MySQL desde DirectAdmin?

Actualizado el 2 de diciembre de 2025

¿Alguna vez has intentado acceder a tu sitio web y te has encontrado con un mensaje de error como "Table is marked as crashed" o "Can't connect to MySQL server"? Si es así, es muy probable que tengas una o varias tablas corruptas en tu base de datos. No te preocupes, es un problema más común de lo que parece y, lo mejor, tiene solución. En esta guía completa y paso a paso, te explicaré cómo reparar tablas corruptas en MySQL desde el panel de control DirectAdmin. Vamos a usar herramientas que ya tienes a tu disposición, sin necesidad de ser un experto en bases de datos.

¿Qué significa que una tabla esté corrupta?

Antes de lanzarnos a la reparación, es importante entender qué está pasando. Imagina que tu base de datos es un archivador lleno de carpetas (las tablas). Cada carpeta contiene información organizada en filas y columnas. Una tabla corrupta es como si una de esas carpetas se hubiera mojado, roto o desordenado. El sistema ya no puede leer la información de forma correcta.

Síntomas comunes de tablas corruptas

Los síntomas más habituales que notarás como usuario son:

  • Errores en tu sitio web: Aparecen mensajes como "Error establishing a database connection".
  • Mensajes específicos en el panel de control: En DirectAdmin, al entrar en "MySQL Management", puedes ver avisos como "Table is marked as crashed and should be repaired".
  • Partes de tu web no funcionan: Por ejemplo, los comentarios de un blog dejan de cargarse, o el carrito de compras de una tienda online no funciona.
  • Tu web va muy lenta: A veces, antes de romperse del todo, una tabla corrupta ralentiza todo el sistema.

¿Por qué se corrompen las tablas?

Las causas pueden ser varias, pero las más frecuentes son:

  • Cortes de energía o apagados bruscos del servidor.
  • Problemas de hardware (como un disco duro defectuoso).
  • Errores al realizar copias de seguridad o al importar/exportar bases de datos.
  • Versiones antiguas de MySQL o configuraciones inestables.
  • Ataques malintencionados (como inyecciones SQL) que dañan la estructura.

Paso 1: Preparación y diagnóstico desde DirectAdmin

Lo primero es acceder a DirectAdmin y localizar tu base de datos. No te preocupes, es un proceso muy visual.

  1. Inicia sesión en DirectAdmin: Usa tu usuario y contraseña. Normalmente accedes a través de tudominio.com:2222.
  2. Busca la sección de bases de datos: En el menú principal, busca un icono o enlace que ponga "MySQL Management" o "Administrador de MySQL". Haz clic ahí.
  3. Identifica tu base de datos: Verás una lista con todas las bases de datos que tienes creadas. Anota el nombre de la base de datos que da problemas. Normalmente se llama algo así como tuusuario_nombrebasededatos.

Diagnóstico rápido con phpMyAdmin

Dentro de DirectAdmin, tienes una herramienta muy potente llamada phpMyAdmin. Es una interfaz web que te permite gestionar tus bases de datos sin escribir comandos complicados.

  1. En la misma página de "MySQL Management", busca el enlace que pone "phpMyAdmin" y haz clic.
  2. Se abrirá una nueva pestaña o ventana. A la izquierda verás una lista de bases de datos. Haz clic en la que quieres revisar.
  3. Ahora, a la derecha, verás una lista de tablas. Fíjate bien en el estado de cada tabla. Si una tabla está corrupta, al lado de su nombre puede aparecer un mensaje como "in use", "crashed" o un icono de advertencia (un triángulo amarillo).

[TIP] Si no ves el mensaje de error, puedes forzar una comprobación. En la parte inferior de la página de phpMyAdmin, hay un enlace que dice "Comprobar todo". Selecciona todas las tablas y en el menú desplegable (donde pone "Con seleccionadas:"), elige la opción "Comprobar tabla". Esto te dirá si alguna está dañada.

Paso 2: Método rápido: Reparar desde phpMyAdmin

Esta es la forma más sencilla y recomendada para la mayoría de los usuarios. Es como darle un "reset" a la tabla.

  1. Selecciona la tabla corrupta: En phpMyAdmin, haz clic en el nombre de la tabla que está dañada (la que tiene el mensaje de error).
  2. Ve a la pestaña "Operaciones": En el menú superior, verás varias pestañas: "Examinar", "Estructura", "SQL", "Buscar", etc. Haz clic en "Operaciones".
  3. Busca la opción "Reparar tabla": En la sección "Mantenimiento de la tabla", verás varias opciones: "Comprobar tabla", "Analizar tabla", "Optimizar tabla" y "Reparar tabla". Haz clic en esta última.
  4. Espera el resultado: phpMyAdmin ejecutará el comando REPAIR TABLE. En unos segundos, verás un mensaje como "OK" o "La tabla se ha reparado correctamente". ¡Listo!

[WARNING] Si la tabla es muy grande, la reparación puede tardar varios minutos. No cierres la ventana ni recargues la página durante el proceso. Ten paciencia.

Paso 3: Método avanzado: Reparar desde la línea de comandos (SSH)

Si el método anterior no funciona o si eres un usuario más técnico, puedes usar la línea de comandos. Necesitarás acceso SSH a tu servidor (te lo proporciona tu proveedor de hosting).

  1. Conéctate por SSH: Usa un programa como PuTTY (Windows) o la terminal (Mac/Linux). Introduce tu IP, usuario y contraseña SSH.
  2. Accede a MySQL: Escribe el siguiente comando y presiona Enter. Te pedirá la contraseña de MySQL (la misma que usas en DirectAdmin para la base de datos).
    mysql -u tu_usuario_mysql -p
    
  3. Selecciona tu base de datos: Una vez dentro de MySQL, escribe:
    USE nombre_de_tu_base_de_datos;
    
    (Recuerda cambiar nombre_de_tu_base_de_datos por el nombre real).
  4. Repara la tabla: Ahora ejecuta el comando de reparación. Cambia nombre_de_la_tabla_corrupta por el nombre de la tabla que da error.
    REPAIR TABLE nombre_de_la_tabla_corrupta;
    
  5. Verifica el resultado: El sistema te mostrará un mensaje. Si pone OK, la reparación ha sido exitosa. Si ves Error o Warning, puede que necesites un método más agresivo.

Si la reparación simple falla: Forzar la reparación

A veces, una tabla está muy dañada y necesita un "empujón" extra. Puedes intentar:

REPAIR TABLE nombre_de_la_tabla_corrupta USE_FRM;

Este comando intenta reconstruir la tabla usando el archivo de definición (.frm) que aún puede estar intacto.

Paso 4: ¿Qué hacer si no se puede reparar? (Recuperación de datos)

En casos extremos, la tabla está tan dañada que ni siquiera el comando REPAIR funciona. No desesperes. Aún puedes intentar recuperar los datos.

Opción 1: Crear una tabla nueva y volcar los datos

Este método intenta leer los datos de la tabla corrupta e insertarlos en una tabla nueva.

  1. Crea una tabla nueva con la misma estructura que la corrupta. Puedes hacerlo desde phpMyAdmin en la pestaña "Estructura" -> "Crear tabla".
  2. Luego, ejecuta este comando SQL (desde phpMyAdmin o SSH):
    INSERT INTO nueva_tabla SELECT * FROM tabla_corrupta;
    
    Si funciona, habrás salvado tus datos. Luego puedes renombrar las tablas (por ejemplo, tabla_corrupta a tabla_corrupta_vieja y nueva_tabla a tabla_corrupta).

Opción 2: Usar mysqldump para forzar la exportación

Desde la línea de comandos SSH, puedes intentar forzar la exportación de la base de datos ignorando los errores:

mysqldump -u tu_usuario -p --force nombre_base_datos > respaldo.sql

Esto creará un archivo respaldo.sql con todos los datos que se puedan leer. Luego puedes importar este archivo en una base de datos nueva.

[INFO] Si ninguna de estas opciones funciona, lo mejor es restaurar desde una copia de seguridad reciente. Por eso es tan importante tener copias de seguridad automáticas. DirectAdmin tiene una herramienta llamada "Backup" que te permite programarlas.

Preguntas Frecuentes (FAQ)

1. ¿Cada cuánto debo revisar mis tablas?

No es necesario que lo hagas a diario. Una buena práctica es, cada vez que notes algún error extraño en tu web, revisar el estado de las tablas. También puedes programar una comprobación automática desde el cron del servidor (si sabes cómo hacerlo).

2. ¿Reparar una tabla puede borrar información?

En la mayoría de los casos, no. La reparación intenta restaurar la estructura dañada sin tocar los datos. Sin embargo, en casos muy extremos, es posible que se pierdan algunas filas. Por eso siempre recomendamos tener una copia de seguridad antes de intentar cualquier reparación.

3. ¿Qué pasa si soy usuario de Syspanel (HestiaCP)?

Si tu panel de control es Syspanel (anteriormente conocido como HestiaCP), el proceso es muy similar. En lugar de DirectAdmin, accedes a tu panel a través del puerto 2106 (por ejemplo, tudominio.com:2106). Dentro, busca la sección de bases de datos. El resto de pasos (usar phpMyAdmin o SSH) son prácticamente idénticos.

4. ¿Puedo prevenir la corrupción de tablas?

Sí, con algunos hábitos sencillos:

  • Realiza copias de seguridad periódicas. Es tu mejor seguro.
  • No apagues el servidor de forma brusca.
  • Mantén tu sistema actualizado. Tanto DirectAdmin como MySQL tienen parches que corrigen errores que pueden causar corrupción.
  • Optimiza las tablas de vez en cuando. En phpMyAdmin, la opción "Optimizar tabla" ayuda a mantener la base de datos ordenada y eficiente.

Conclusión

Reparar tablas corruptas en MySQL desde DirectAdmin no es un proceso de otro mundo. Con las herramientas que te ofrece el panel (phpMyAdmin) y, en el peor de los casos, con un poco de línea de comandos, puedes solucionar la mayoría de los problemas. Recuerda siempre tener una copia de seguridad a mano y, ante la duda, contactar con el soporte técnico de tu hosting.

Espero que esta guía te haya sido de gran ayuda. Si tienes alguna otra duda, no dudes en dejarla en los comentarios (si este artículo está en un blog) o contactar con nuestro equipo de soporte. ¡Buena suerte y a reparar esas tablas!

¿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