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

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

Actualizado el 30 de diciembre de 2025

¿Por qué se corrompen las tablas MySQL?

Si estás leyendo esto, probablemente te has encontrado con un mensaje de error molesto en tu sitio web. Algo como "Table './tu_base/tabla' is marked as crashed and should be repaired" o un error 500 sin explicación. No te preocupes, es más común de lo que crees y, por suerte, tiene solución.

Las tablas de una base de datos MySQL pueden corromperse por varias razones. Las más habituales son:

  • Cortes de energía o apagados bruscos del servidor mientras se escribía información.
  • Caídas del servicio de MySQL de forma inesperada.
  • Espacio en disco insuficiente que impide que las operaciones de escritura se completen.
  • Errores del sistema de archivos del disco duro.
  • Versiones incompatibles de MySQL o importaciones incorrectas de bases de datos.

La buena noticia es que reparar tablas corruptas en DirectAdmin es un proceso bastante sencillo, y en la mayoría de los casos no necesitas ser un experto en programación para hacerlo. En esta guía te voy a explicar paso a paso, con un lenguaje claro y directo, cómo solucionarlo.

Antes de empezar: Haz una copia de seguridad

[WARNING] Este es el paso más importante. Aunque la reparación de tablas suele ser segura, siempre existe un pequeño riesgo de pérdida de datos. No continúes sin antes respaldar tu información.

Para hacer una copia de seguridad desde DirectAdmin, sigue estos pasos:

  1. Accede a tu panel de control de DirectAdmin.
  2. Busca la sección "Gestión de MySQL" o "Bases de Datos MySQL".
  3. Localiza la base de datos que tiene el problema y haz clic en el icono de "Copiar" o "Backup".
  4. Si no ves esa opción, también puedes hacer una copia desde "Administrador de archivos" exportando el archivo .sql desde phpMyAdmin (te explico cómo más abajo, porque también lo usaremos para reparar).

Si tu base de datos es muy grande, el backup puede tardar unos minutos. Ten paciencia.

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

Esta es, con diferencia, la forma más visual y amigable para usuarios sin experiencia técnica. phpMyAdmin es una herramienta que viene incluida en DirectAdmin y te permite gestionar tus bases de datos desde un navegador web.

Paso 1: Acceder a phpMyAdmin

  1. Inicia sesión en tu panel de DirectAdmin.
  2. En el menú principal, busca el icono que dice "phpMyAdmin". Normalmente está dentro de la sección de "Bases de Datos" o en el menú de "Herramientas".
  3. Haz clic en él. Se abrirá una nueva pestaña en tu navegador con la interfaz de phpMyAdmin.

Paso 2: Seleccionar tu base de datos

  1. En el panel lateral izquierdo de phpMyAdmin, verás una lista con todas tus bases de datos.
  2. Haz clic en el nombre de la base de datos que quieres reparar. Verás que aparecen las tablas en el área principal.

Paso 3: Marcar las tablas corruptas

No siempre sabes cuál es la tabla exacta que falla. Lo mejor es marcar todas las tablas de la base de datos para revisarlas. Es un proceso rápido.

  1. En la parte inferior de la lista de tablas, verás una opción que dice "Marcar todos" o un checkbox en la cabecera de la tabla para seleccionarlas todas.
  2. Una vez seleccionadas todas, busca el menú desplegable que dice "Con seleccionados:" (o similar) en la parte inferior o superior.
  3. Haz clic en ese menú desplegable y elige la opción "Reparar tabla".

Paso 4: Ejecutar la reparación

phpMyAdmin ejecutará el comando REPAIR TABLE en todas las tablas seleccionadas. Verás una pantalla con una tabla de resultados que te indicará:

  • Table: El nombre de la tabla.
  • Op: La operación realizada (Repair).
  • Msg_type: El tipo de mensaje (status, error, info).
  • Msg_text: El mensaje en sí. Si todo va bien, verás "OK" o "Table is already up to date".

¡Y eso es todo! Si el mensaje es "OK", tu tabla ha sido reparada. Si ves algún tipo de error, pasa al siguiente método.

Método 2: Reparar tablas usando el comando SSH (Para casos más serios)

Si phpMyAdmin no pudo reparar la tabla o te dio un error, es hora de usar la línea de comandos. Esto puede sonar intimidante, pero solo necesitas copiar y pegar unos pocos comandos.

[INFO] Para este método necesitas acceso SSH a tu servidor. Si no sabes qué es, contacta con tu proveedor de hosting y pídeles que ejecuten los comandos por ti, o que te habiliten el acceso SSH.

Paso 1: Conectarte por SSH

Abre tu terminal (en Mac o Linux) o usa un programa como PuTTY (en Windows). Conéctate a tu servidor usando tu usuario y contraseña de SSH.

Paso 2: Acceder a MySQL

Escribe el siguiente comando y presiona Enter:

mysql -u tu_usuario -p

Te pedirá la contraseña de tu base de datos MySQL. Escríbela y presiona Enter. Ahora estarás dentro del monitor de MySQL.

Paso 3: Seleccionar la base de datos

Ahora necesitas indicarle a MySQL con qué base de datos quieres trabajar. Escribe:

USE nombre_de_tu_base_de_datos;

No olvides el punto y coma (;) al final. Presiona Enter.

Paso 4: Reparar todas las tablas

Ahora viene el comando mágico. Para reparar todas las tablas de la base de datos, escribe:

REPAIR TABLE nombre_de_la_tabla1, nombre_de_la_tabla2;

Pero si no sabes cuáles están dañadas, puedes usar este comando para repararlas todas automáticamente (requiere un poco más de conocimiento, pero es muy útil):

SELECT CONCAT('REPAIR TABLE `', TABLE_NAME, '`;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = 'nombre_de_tu_base_de_datos';

Esto generará una lista de comandos REPAIR TABLE. Copia todos los resultados y pégalos en la línea de comandos de MySQL para ejecutarlos.

[TIP] Si el comando REPAIR TABLE no funciona, puedes intentar con myisamchk desde la terminal del servidor, pero eso ya es un nivel más avanzado. Si llegas a este punto, te recomiendo contactar con soporte técnico.

Método 3: El "Plan B" - Exportar e Importar (Solución definitiva)

Si los métodos anteriores no funcionan, no todo está perdido. A veces la tabla está tan dañada que es más fácil extraer los datos que sí se pueden leer y crear una tabla nueva. A esto se le llama exportar e importar.

Paso 1: Exportar la base de datos (o la tabla dañada)

  1. Vuelve a phpMyAdmin.
  2. Selecciona tu base de datos y luego la tabla que da problemas.
  3. Haz clic en la pestaña "Exportar" en la parte superior.
  4. Elige el método "Rápido" y formato "SQL". Haz clic en "Continuar".
  5. Esto descargará un archivo .sql a tu computadora. Este archivo contiene la estructura y los datos de la tabla.

[WARNING] Si la tabla está muy corrupta, la exportación podría fallar o no incluir todos los datos. Es una solución imperfecta, pero es mejor que nada.

Paso 2: Borrar la tabla corrupta

  1. En phpMyAdmin, selecciona la tabla que tiene problemas.
  2. Ve a la pestaña "Operaciones".
  3. Desplázate hacia abajo hasta la sección "Borrar datos o tabla".
  4. Haz clic en "Eliminar tabla (DROP)". Confirma la acción.

Paso 3: Importar el archivo de respaldo

  1. Ahora, en phpMyAdmin, ve a la pestaña "Importar".
  2. Haz clic en "Elegir archivo" y selecciona el archivo .sql que descargaste antes.
  3. Haz clic en "Continuar".

Esto recreará la tabla desde cero con los datos que se pudieron exportar. Es importante que sepas que podrías perder algunos datos que estaban en las partes dañadas de la tabla.

Errores comunes y sus soluciones rápidas

  • "Table is marked as crashed and should be repaired": Es el mensaje más común. Sigue el Método 1 directamente.
  • "Incorrect key file for table": Suele estar relacionado con falta de espacio en disco. Libera espacio en tu hosting y luego intenta reparar.
  • "Can't open file": El servidor no puede acceder al archivo de la tabla. Puede ser un problema de permisos. Contacta con tu proveedor.
  • "MySQL server has gone away": Este error suele aparecer al importar archivos muy grandes. Intenta aumentar el límite de memoria en phpMyAdmin o divide el archivo en partes más pequeñas.

Preguntas frecuentes (FAQ)

¿Cuánto tiempo tarda en reparar una tabla MySQL?
Depende del tamaño de la tabla y del método que uses. Una tabla pequeña puede repararse en segundos. Una tabla con millones de registros puede tardar varios minutos.

¿Perderé mis datos al reparar una tabla?
En la mayoría de los casos, no. La reparación intenta recuperar la mayor cantidad de datos posible. Sin embargo, siempre existe un pequeño riesgo, por eso es vital hacer una copia de seguridad antes.

¿Puedo reparar una tabla mientras mi sitio web está en línea?
Técnicamente sí, pero podrías experimentar errores temporales en tu sitio. Lo ideal es hacerlo en horas de bajo tráfico o, si es posible, poner el sitio en modo mantenimiento.

¿Cómo puedo prevenir la corrupción de tablas en el futuro?

  • Asegúrate de tener suficiente espacio en disco.
  • Realiza copias de seguridad periódicas.
  • Evita interrumpir procesos de importación o exportación.
  • Mantén tu sistema operativo y MySQL actualizados.

¿Qué hago si nada de esto funciona?
Si has intentado todos los métodos y la tabla sigue fallando, es hora de contactar con tu proveedor de hosting o con un administrador de sistemas. Ellos tienen herramientas más avanzadas y pueden acceder a los archivos del servidor directamente.

Recuerda que la prevención es la mejor cura. Realiza copias de seguridad regulares de tus bases de datos y mantén un ojo en el espacio de tu disco duro. Así, cuando ocurra un imprevisto, podrás solucionarlo sin perder el sueño. ¡Espero que esta guía te haya sido de gran ayuda!

¿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