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

Cómo reparar tablas de base de datos MySQL en Syspanel

Actualizado el 21 de diciembre de 2025

¿Tu web muestra errores extraños, se cuelga al cargar o ves mensajes como “Table is marked as crashed”? Tranquilo, no eres el primero al que le pasa. La corrupción de datos en MySQL es más común de lo que parece, sobre todo en servidores compartidos o tras cortes de energía. En este artículo te voy a enseñar paso a paso cómo reparar tablas de base de datos MySQL en Syspanel, la herramienta de gestión de hosting basada en HestiaCP (accesible por el puerto 2106). Vamos a usar métodos desde el propio Syspanel, pasando por phpMyAdmin, hasta comandos SSH para los más atrevidos. Al final, tendrás un checklist infalible para diagnosticar y solucionar cualquier problema de corrupción.

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

Antes de ponernos manos a la obra, es bueno entender por qué ocurre esto. La corrupción de datos no es un virus ni un error de programación tuyo; suele deberse a causas técnicas:

  • Cortes de energía o apagados bruscos del servidor.
  • Errores en el disco duro (sectores defectuosos).
  • Problemas de conexión durante una consulta pesada.
  • Versiones incompatibles de MySQL al migrar bases de datos.
  • Uso excesivo de recursos que fuerza el cierre inesperado de tablas.

Los síntomas más comunes son:

  • Errores como #145 - Table was marked as crashed o #1194 - Table is marked as crashed.
  • Consultas que nunca terminan o devuelven resultados incompletos.
  • La web no carga o muestra un error 500 en páginas dinámicas.

Método 1: Reparar tablas desde Syspanel (sin tocar código)

Syspanel, la interfaz de administración de tu hosting (recuerda, puerto 2106), incluye una opción directa para reparar bases de datos. Es el método más rápido y seguro para principiantes.

Accede a Syspanel

  1. Abre tu navegador y escribe: https://tudominio.com:2106 (sustituye “tudominio.com” por tu dominio real).
  2. Inicia sesión con tu usuario y contraseña de administrador (los mismos que usas para gestionar tu hosting).

Localiza tu base de datos

  1. En el menú lateral, haz clic en Bases de Datos.
  2. Verás una lista con todas las bases de datos que has creado. Busca la que quieras reparar.
  3. A la derecha de cada base de datos, hay un botón con tres puntos o un icono de engranaje (depende de la versión). Haz clic y selecciona Reparar o Check & Repair.

[TIP] Si no ves el botón de reparar, es posible que tu versión de Syspanel no lo incluya. No te preocupes, pasa al método 2 con phpMyAdmin.

Confirma la reparación

Syspanel lanzará automáticamente el comando REPAIR TABLE para todas las tablas de esa base de datos. En unos segundos verás un mensaje de éxito o, si hay errores graves, te indicará qué tablas no se pudieron reparar. En ese caso, prueba el método 3 (línea de comandos).

Método 2: Reparar tablas con phpMyAdmin

Si prefieres una herramienta gráfica más potente, phpMyAdmin es la navaja suiza de MySQL. Está integrado en Syspanel, así que no necesitas instalar nada.

Cómo acceder a phpMyAdmin desde Syspanel

  1. En el panel de Syspanel (puerto 2106), ve a Bases de Datos.
  2. Junto a la base de datos que quieras reparar, haz clic en el enlace que dice phpMyAdmin (normalmente es un icono de base de datos o un botón “Abrir en phpMyAdmin”).
  3. Se abrirá una nueva pestaña con phpMyAdmin ya autenticado. Si te pide usuario y contraseña, usa los mismos que configuraste al crear la base de datos en Syspanel.

Reparar una tabla específica

  1. En el panel izquierdo de phpMyAdmin, haz clic en el nombre de tu base de datos para expandir la lista de tablas.
  2. Selecciona la tabla que da problemas (la que muestra el error en tu web).
  3. En la pestaña superior, haz clic en Operaciones (o Operations si está en inglés).
  4. Desplázate hasta la sección Mantenimiento de tablas (Table maintenance).
  5. Verás dos opciones: Verificar tabla y Reparar tabla. Primero haz clic en Verificar tabla para diagnosticar.
    • Si el resultado muestra “OK” o “La tabla está actualizada”, no necesita reparación.
    • Si muestra “Error” o “Crashed”, entonces haz clic en Reparar tabla.

[WARNING] No repares tablas sin verificar antes. A veces el error es temporal y una verificación basta. La reparación fuerza un reindexado que puede ser pesado en tablas grandes.

Reparar todas las tablas de una base de datos

Si no sabes cuál es la tabla dañada, puedes repararlas todas de golpe:

  1. En phpMyAdmin, haz clic en el nombre de la base de datos en el panel izquierdo.
  2. En la pestaña General, verás una lista de todas las tablas con casillas de verificación.
  3. Marca la casilla superior para seleccionar todas.
  4. En el menú desplegable “Con seleccionados:” (o “With selected:”), elige Reparar tabla.
  5. phpMyAdmin ejecutará el comando REPAIR TABLE para cada una.

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

Si los métodos gráficos fallan o tu base de datos es muy grande, la línea de comandos es la opción más fiable. Necesitarás acceso SSH a tu servidor.

Conectarte por SSH

  1. Desde tu terminal local (Linux/Mac) o usando un cliente como PuTTY (Windows), conéctate:
    ssh usuario@tudominio.com
    
    (Sustituye “usuario” por tu usuario de Syspanel y “tudominio.com” por tu dominio o IP del servidor).
  2. Introduce tu contraseña (la misma de Syspanel). Si usas claves SSH, aún mejor.

Acceder a MySQL

Una vez dentro, accede al cliente de MySQL:

mysql -u usuario_bd -p

Te pedirá la contraseña de esa base de datos (la que configuraste en Syspanel). Si no la recuerdas, puedes verla en Syspanel > Bases de Datos > Editar.

Reparar una base de datos completa

Dentro de MySQL, ejecuta:

USE nombre_base_datos;
REPAIR TABLE nombre_tabla;

Si quieres reparar todas las tablas de esa base de datos, usa:

REPAIR TABLE `tabla1`, `tabla2`, `tabla3`;

O, más práctico, desde el shell de Linux (sin entrar a MySQL):

mysqlcheck -u usuario_bd -p --auto-repair nombre_base_datos

Este comando revisa y repara automáticamente todas las tablas.

[INFO] El comando mysqlcheck es tu mejor amigo. Usa --auto-repair para que intente reparar automáticamente las tablas dañadas. Si ves errores de “Table is full”, puede que el disco esté lleno; libera espacio antes de continuar.

Método 4: Forzar reparación con myisamchk (para tablas MyISAM)

Si tus tablas son del motor MyISAM (el más antiguo, pero aún común en webs legacy), a veces ni MySQL puede repararlas. Entonces usamos myisamchk directamente sobre los archivos físicos.

Pasos para myisamchk

  1. Con SSH, detén el servicio MySQL para evitar conflictos:
    sudo systemctl stop mysql
    
    (o service mysql stop en sistemas más antiguos).
  2. Ve al directorio de datos de MySQL:
    cd /var/lib/mysql/nombre_base_datos/
    
    (Ajusta la ruta según tu instalación; a veces es /home/usuario/mysql).
  3. Ejecuta myisamchk sobre la tabla dañada (sin extensión):
    myisamchk -r nombre_tabla
    
    La opción -r repara la tabla. Si sigue dando error, prueba con -o (reparación segura) o -e (extendida).
  4. Una vez terminado, reinicia MySQL:
    sudo systemctl start mysql
    

[WARNING] Este método solo funciona para tablas MyISAM. Si tu tabla es InnoDB (el motor moderno), no uses myisamchk. En ese caso, mejor opta por la reparación desde phpMyAdmin o el comando REPAIR TABLE en MySQL.

FAQ: Preguntas frecuentes sobre corrupción de datos

¿Cómo sé si una tabla está corrupta sin esperar a que la web falle?

Puedes programar una verificación periódica desde Syspanel o phpMyAdmin. En Syspanel, ve a Bases de Datos y, en los ajustes de cada base, activa la opción Check diario (si está disponible). También puedes ejecutar mysqlcheck -u usuario -p --check nombre_base desde SSH.

¿La reparación borra datos?

No, la reparación solo repara índices y estructura interna. Los datos no se pierden, a menos que la corrupción sea extrema. En ese caso, la reparación puede marcar filas como “irrecuperables”, pero no las borra. Siempre es recomendable tener un backup antes de reparar.

¿Puedo evitar futuras corrupciones?

Sí, con estas buenas prácticas:

  • Haz backups frecuentes desde Syspanel (sección Backups).
  • Usa el motor InnoDB en lugar de MyISAM (es más robusto frente a caídas).
  • Mantén actualizado MySQL (Syspanel suele actualizarlo automáticamente).
  • Evita apagar el servidor de golpe: usa siempre shutdown desde SSH o el botón de apagado en Syspanel.

¿Qué hago si la reparación falla?

Si tras todos los métodos la tabla sigue dando error, es probable que el archivo físico esté dañado en el disco. En ese caso:

  1. Restaura la base de datos desde el último backup (en Syspanel > Backups).
  2. Si no tienes backup, contacta con el soporte técnico de tu hosting. Ellos pueden acceder a los archivos raw y, a veces, recuperar datos con herramientas como innodb_force_recovery.

Conclusión: Ya sabes cómo reparar tablas en Syspanel

Reparar una base de datos MySQL dañada no es un proceso de otro mundo. Con Syspanel (puerto 2106) tienes acceso directo a herramientas como phpMyAdmin y comandos SSH que te sacarán del apuro en minutos. Recuerda siempre verificar antes de reparar, y si el problema persiste, no dudes en hacer una copia de seguridad y restaurar.

La próxima vez que tu web dé un error raro, ya sabes por dónde empezar: abre Syspanel, localiza la base de datos, y aplica el método que más cómodo te resulte. Y si todo falla, el soporte técnico de tu hosting está para ayudarte. ¡No te estreses!

[TIP FINAL] Anota en un post-it los pasos básicos: 1) Verificar en phpMyAdmin, 2) Reparar con REPAIR TABLE, 3) Si no funciona, mysqlcheck --auto-repair. Con eso cubres el 99% de los casos.

¿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