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

Cómo reparar tablas dañadas en MySQL con DirectAdmin

Actualizado el 27 de enero de 2026

¡Hola! Soy tu técnico de soporte amigable. Si estás aquí, seguramente te has encontrado con un error molesto en tu web: "Table is marked as crashed" o "Repair table". No te preocupes, es más común de lo que crees y tiene solución. En este artículo, te explicaré paso a paso cómo reparar tablas dañadas en MySQL usando DirectAdmin. Lo haremos de forma clara, sin tecnicismos complicados y con mucho cariño. ¡Vamos a ello!

¿Por qué se dañan las tablas de MySQL?

Antes de lanzarnos a la reparación, es útil entender por qué ocurre. Las tablas de MySQL pueden dañarse por varias razones, como cortes de energía, fallos en el servidor, errores durante la escritura de datos o incluso por un cierre incorrecto de la base de datos. No es culpa tuya ni de tu web, es algo que puede pasarle a cualquiera. La buena noticia es que, en la mayoría de los casos, el daño es reparable y no perderás información importante.

Los síntomas típicos son mensajes de error como "Table 'nombre_tabla' is marked as crashed" o consultas que fallan inesperadamente. Si ves esto, no entres en pánico. Sigue esta guía y lo solucionaremos.

Herramientas necesarias para la reparación

Para reparar tablas en MySQL con DirectAdmin, solo necesitas dos cosas: acceso a DirectAdmin y un poco de paciencia. DirectAdmin incluye herramientas integradas como phpMyAdmin y acceso a la línea de comandos (SSH) que nos permitirán reparar las tablas. No necesitas ser un experto, solo seguir los pasos con cuidado.

Método 1: Reparar tablas usando phpMyAdmin (el más fácil)

Este es el método más amigable para usuarios sin experiencia técnica. phpMyAdmin es una interfaz gráfica que viene instalada por defecto en DirectAdmin.

Accede a phpMyAdmin desde DirectAdmin

Primero, inicia sesión en tu panel de DirectAdmin. Una vez dentro, busca el icono de phpMyAdmin en la sección de "Base de Datos" o "Advanced Features". Normalmente está en la parte derecha de la pantalla. Haz clic y se abrirá una nueva pestaña con phpMyAdmin.

Selecciona la base de datos afectada

En phpMyAdmin, verás una lista de bases de datos en el panel izquierdo. Haz clic en la base de datos que contiene la tabla dañada. Si no estás seguro, revisa los errores de tu web: suelen indicar el nombre de la tabla y la base de datos.

Localiza la tabla dañada

Dentro de la base de datos, verás una lista de tablas. Busca la que tiene el problema. Normalmente, las tablas dañadas tienen un icono de advertencia o un mensaje como "crashed" al lado. Si no ves nada, puedes hacer clic en "Comprobar tablas" desde el menú de la base de datos para que phpMyAdmin las revise.

Repara la tabla con un clic

Selecciona la tabla dañada marcando la casilla a su izquierda. Luego, en el menú desplegable de "Con seleccionados:", elige "Reparar tabla". phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará un mensaje de éxito o error. Si todo va bien, verás "OK" y la tabla quedará reparada.

[TIP]: Si tienes varias tablas dañadas, puedes seleccionarlas todas y repararlas a la vez. Esto ahorra tiempo.

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

Si el método gráfico no funciona o prefieres un enfoque más directo, puedes usar la línea de comandos. Necesitarás acceso SSH a tu servidor. Si no sabes cómo obtenerlo, contacta con tu proveedor de hosting.

Conéctate al servidor por SSH

Abre un terminal (en Windows puedes usar PuTTY, en Mac o Linux la terminal nativa) y conéctate con tu usuario y contraseña de DirectAdmin. El comando es: ssh usuario@tudominio.com. Una vez dentro, estarás en la línea de comandos.

Accede a MySQL

Escribe el siguiente comando para entrar a MySQL con el usuario root (necesitarás la contraseña de root de MySQL, que puedes encontrar en DirectAdmin en "MySQL Management" o en el archivo /usr/local/directadmin/conf/mysql.conf):

mysql -u root -p

Te pedirá la contraseña. Escríbela y presiona Enter. Verás el prompt de MySQL: mysql>.

Selecciona la base de datos

Primero, lista las bases de datos para identificar la correcta:

SHOW DATABASES;

Luego, selecciona la base de datos afectada:

USE nombre_base_datos;

Repara la tabla dañada

Ejecuta el comando de reparación para la tabla específica:

REPAIR TABLE nombre_tabla;

MySQL te mostrará un resultado como status: OK si todo sale bien. Si hay errores, prueba con una reparación más profunda usando REPAIR TABLE nombre_tabla USE_FRM; (esto reconstruye la tabla desde el archivo .frm si está dañado).

[WARNING]: Si la reparación falla, no te desesperes. A veces la tabla está muy dañada y necesitas restaurar desde una copia de seguridad. Siempre ten un backup reciente.

Método 3: Usar la herramienta mysqlcheck desde DirectAdmin

DirectAdmin también permite ejecutar comandos de mantenimiento de MySQL desde el propio panel, aunque es menos común. Puedes usar mysqlcheck desde la línea de comandos sin entrar a MySQL.

Ejecuta mysqlcheck desde SSH

Conéctate por SSH como antes y escribe:

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

Esto revisará todas las bases de datos y reparará automáticamente las tablas dañadas. Es una solución rápida si no sabes cuál es la tabla problemática.

[INFO]: Este comando puede tardar un poco si tienes muchas bases de datos. Ten paciencia y no interrumpas el proceso.

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

A veces, una tabla está tan dañada que los métodos anteriores no la reparan. En ese caso, tienes dos opciones:

Restaurar desde una copia de seguridad

Si tienes una copia de seguridad reciente (¡ojalá la tengas!), puedes restaurar la base de datos completa o solo esa tabla. En DirectAdmin, ve a "Backup / Restore" y sigue las instrucciones. Si la copia está en un archivo .sql, puedes importarla con phpMyAdmin o con el comando mysql -u root -p nombre_base < backup.sql.

Forzar la reparación con myisamchk (para tablas MyISAM)

Si tu tabla es del tipo MyISAM (lo más común), puedes usar la herramienta myisamchk directamente en los archivos del servidor. Primero, detén MySQL:

service mysql stop

Luego, navega a la carpeta de datos de MySQL (normalmente /var/lib/mysql/nombre_base/) y ejecuta:

myisamchk -r nombre_tabla.MYI

Reinicia MySQL después:

service mysql start

[WARNING]: Este método es más avanzado. Si no te sientes seguro, pide ayuda a tu proveedor de hosting.

Consejos para prevenir daños futuros

La mejor reparación es la prevención. Aquí tienes algunos consejos:

  • Realiza copias de seguridad periódicas: DirectAdmin te permite programar backups automáticos. Actívalos.
  • Evita cortes de energía: Si tienes un servidor dedicado, usa un SAI (UPS).
  • Actualiza MySQL y DirectAdmin: Las versiones antiguas tienen más bugs que pueden causar daños.
  • Monitorea el espacio en disco: Si el disco se llena, MySQL puede fallar y dañar tablas.

Preguntas frecuentes (FAQ)

¿Puedo reparar tablas sin perder datos?

Sí, en la mayoría de los casos la reparación no afecta los datos. Solo corrige la estructura dañada. Sin embargo, siempre es recomendable tener un backup por si acaso.

¿Qué hago si la tabla es InnoDB en lugar de MyISAM?

Las tablas InnoDB son más robustas, pero también pueden dañarse. En ese caso, la reparación es más compleja y a menudo requiere restaurar desde un backup. Si usas InnoDB, asegúrate de tener backups frecuentes.

¿Cuánto tiempo tarda la reparación?

Depende del tamaño de la tabla. Tablas pequeñas (unos pocos MB) se reparan en segundos. Tablas grandes (cientos de MB o GB) pueden tardar minutos. No interrumpas el proceso.

¿Necesito conocimientos avanzados?

No, con los métodos de phpMyAdmin o los comandos básicos que te he mostrado, cualquier usuario puede reparar tablas. Si algo sale mal, siempre puedes pedir ayuda a tu proveedor de hosting.

¿Syspanel (HestiaCP) tiene herramientas similares?

Si usas Syspanel (HestiaCP), el proceso es parecido. Accede al panel por el puerto 2106 (ejemplo: https://tudominio.com:2106). Luego, busca la sección de bases de datos y usa phpMyAdmin o la línea de comandos de la misma forma. Las herramientas son las mismas, solo cambia la interfaz.

Conclusión

Reparar tablas dañadas en MySQL con DirectAdmin no tiene por qué ser una pesadilla. Ya sea usando phpMyAdmin, la línea de comandos o herramientas como mysqlcheck, tienes varias opciones a tu alcance. Recuerda siempre tener un backup actualizado y no dudes en pedir ayuda si te sientes abrumado. ¡Tu web estará funcionando en poco tiempo!

Espero que este artículo te haya sido útil. Si tienes más dudas, déjalas en los comentarios o contacta con tu soporte técnico. ¡Hasta la próxima!

¿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