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

Cómo reparar tablas de MySQL en cPanel

Actualizado el 11 de febrero de 2026

¿Te has encontrado con un mensaje de error al acceder a tu web que dice algo como "Error al conectar con la base de datos" o "Tabla ‘wp_options’ está marcada como dañada"? No te preocupes, es más común de lo que parece. Las tablas de MySQL pueden dañarse por cortes de energía, fallos del servidor, plugins conflictivos o incluso por una mala actualización.

En esta guía extensa, te voy a enseñar paso a paso cómo reparar tablas de MySQL en cPanel usando diferentes métodos, desde el más sencillo (phpMyAdmin) hasta opciones avanzadas con comandos. Al final, también te doy consejos de mantenimiento para que esto no te vuelva a pasar.


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

Antes de lanzarnos a reparar, es bueno entender por qué ocurre. Las tablas de MySQL (especialmente las del motor MyISAM, aunque también InnoDB) pueden corromperse por:

  • Cortes de energía o apagados bruscos del servidor.
  • Errores de escritura durante una transacción.
  • Problemas de disco duro (sectores dañados, falta de espacio).
  • Plugins o temas mal codificados en WordPress, Joomla, etc.
  • Actualizaciones fallidas de la base de datos.
  • Ataques maliciosos o inyecciones SQL.

Los síntomas típicos son: páginas en blanco, errores 500, mensajes de "Error al establecer conexión con la base de datos", o tablas que aparecen como "en uso" o "dañadas" en phpMyAdmin.


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

Este es el método recomendado para principiantes. Lo haremos todo desde el panel cPanel, sin necesidad de escribir comandos.

Paso 1: Accede a cPanel

  1. Abre tu navegador y ve a tudominio.com/cpanel o a la URL que te haya dado tu proveedor de hosting.
  2. Introduce tu usuario y contraseña de cPanel.

Paso 2: Busca phpMyAdmin

Dentro de cPanel, busca la sección Bases de Datos y haz clic en el icono de phpMyAdmin. Si no lo ves, puedes usar el buscador de cPanel (arriba a la derecha) escribiendo "phpMyAdmin".

Paso 3: Selecciona la base de datos afectada

A la izquierda de la pantalla de phpMyAdmin verás una lista con todas tus bases de datos. Haz clic en el nombre de la base de datos que tiene problemas. Se expandirán todas las tablas que contiene.

Paso 4: Marca las tablas sospechosas

Normalmente, las tablas dañadas aparecen con un estado especial (a veces con un icono de advertencia). Si no sabes cuáles son, puedes seleccionar todas las tablas de la base de datos. Para ello:

  • Haz clic en la casilla de verificación que está en la cabecera de la lista (selecciona todas).
  • O marca solo las que creas que están fallando (por ejemplo, wp_posts, wp_options, etc.).

Paso 5: Repara las tablas

  1. En la parte inferior de la lista de tablas, verás un desplegable que dice "Con seleccionadas:".
  2. Haz clic en ese desplegable y elige la opción "Reparar tabla" (en inglés "Repair table").
  3. phpMyAdmin ejecutará el comando REPAIR TABLE y te mostrará el resultado. Verás un mensaje como "OK" o "La tabla ya está actualizada".

[TIP] Si la reparación falla, prueba a seleccionar primero "Verificar tabla" para diagnosticar el problema. Si está dañada, entonces repara.

Paso 6: Comprueba que todo funciona

Vuelve a tu web y recarga la página. Si el error era por una tabla dañada, debería funcionar correctamente. Si persiste, prueba con el siguiente método.


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

Si tienes acceso SSH a tu servidor (o si tu hosting lo permite), este método es más potente y rápido, especialmente si tienes muchas tablas.

Paso 1: Accede por SSH

Necesitarás un cliente SSH (como PuTTY en Windows o la terminal en Mac/Linux). Conéctate con tus credenciales de servidor.

[WARNING] Si no te sientes cómodo con la terminal, mejor usa el método de phpMyAdmin. Un error en un comando puede dañar más la base de datos.

Paso 2: Identifica la base de datos y las tablas

Primero, entra a MySQL desde la terminal:

mysql -u tu_usuario -p

Te pedirá la contraseña de la base de datos. Luego, lista las bases de datos:

SHOW DATABASES;

Selecciona la base de datos afectada:

USE nombre_base_datos;

Para ver las tablas:

SHOW TABLES;

Paso 3: Repara una tabla específica

Para reparar una tabla, usa el comando REPAIR TABLE:

REPAIR TABLE nombre_tabla;

Por ejemplo:

REPAIR TABLE wp_posts;

Paso 4: Reparar todas las tablas de una base de datos

Si quieres reparar todas las tablas de la base de datos actual, puedes usar un pequeño script. Sal de MySQL con exit; y luego ejecuta:

mysqlcheck -u tu_usuario -p --auto-repair nombre_base_datos

Este comando revisa y repara automáticamente todas las tablas de esa base de datos.

[INFO] El comando mysqlcheck es una herramienta de línea de comandos que viene con MySQL. Es muy útil para mantenimiento.


Método 3: Usar la herramienta de reparación desde cPanel (MySQL Databases)

cPanel también incluye una herramienta de verificación y reparación integrada en la sección de bases de datos.

Paso 1: Ve a "MySQL Databases"

En cPanel, busca y haz clic en "MySQL Databases" (dentro de la sección Bases de Datos).

Paso 2: Busca la sección "Repair Database"

Desplázate hacia abajo hasta encontrar la sección "Repair Database" o "Check Database". Dependiendo de la versión de cPanel, puede llamarse "Reparar base de datos".

Paso 3: Selecciona la base de datos

En el desplegable, elige la base de datos que quieres reparar. Haz clic en "Repair Database".

cPanel ejecutará el comando mysqlcheck en segundo plano y te mostrará el resultado. Si todo va bien, verás un mensaje de éxito.


Método 4: Forzar la reparación desde MySQL (para casos extremos)

Si los métodos anteriores fallan, puedes intentar una reparación forzada. Esto solo es recomendable si tienes experiencia o si el soporte técnico te lo pide.

Desde phpMyAdmin

  1. Selecciona la tabla dañada.
  2. Ve a la pestaña "SQL".
  3. Ejecuta el comando:
REPAIR TABLE nombre_tabla USE_FRM;

El parámetro USE_FRM fuerza la recreación de la estructura de la tabla a partir del archivo .frm (si existe). Es un intento de recuperación de emergencia.

Desde SSH

CHECK TABLE nombre_tabla;
REPAIR TABLE nombre_tabla;

Si la tabla es InnoDB, a veces es mejor:

ALTER TABLE nombre_tabla ENGINE=InnoDB;

Esto fuerza la recreación del índice.

[WARNING] Si la tabla está muy dañada, es posible que pierdas datos. Siempre ten un backup reciente.


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

A veces, por más que intentes, la tabla no se recupera. En ese caso, tienes estas opciones:

  1. Restaurar desde un backup: Si tienes una copia de seguridad reciente (deberías tenerla), restaura la base de datos completa. En cPanel, ve a "Backup" o "Restaurar backup".
  2. Usar la herramienta de recuperación de tu hosting: Contacta con el soporte técnico de tu hosting. Ellos pueden tener herramientas más avanzadas (como myisamchk o innodb_force_recovery).
  3. Exportar la tabla dañada (si es posible): A veces puedes exportar la estructura y los datos a un archivo SQL, luego eliminar la tabla y volver a importarla. Esto no siempre funciona, pero vale la pena intentarlo.

Mantenimiento preventivo: cómo evitar que las tablas se dañen

Como dice el refrán, más vale prevenir que curar. Aquí tienes buenas prácticas de mantenimiento:

1. Programa verificaciones periódicas

Puedes configurar un cron job (tarea programada) en cPanel para que revise las tablas automáticamente. Ve a "Cron Jobs" (en Avanzado) y añade una línea como:

mysqlcheck -u usuario -p'contraseña' --auto-repair --all-databases

Ejecútalo, por ejemplo, cada domingo a las 3 AM.

2. Actualiza tu CMS y plugins

Las versiones antiguas de WordPress, Joomla, etc., pueden tener bugs que dañen las tablas. Mantén todo actualizado.

3. Usa un plugin de cache y optimización

Plugins como WP-Optimize o Advanced Database Cleaner ayudan a mantener la base de datos limpia y sin fragmentación.

4. Monitorea el espacio en disco

Si el disco del servidor se llena, las escrituras en la base de datos pueden fallar y dañar tablas. Revisa el uso de disco en cPanel (estadísticas).

5. Activa las copias de seguridad automáticas

En cPanel, puedes configurar backups diarios o semanales. Así, si algo sale mal, restauras en minutos.


Preguntas frecuentes (FAQ)

P: ¿Cómo sé si una tabla de MySQL está dañada en cPanel?
R: Puedes verificar desde phpMyAdmin seleccionando la tabla y usando la opción "Verificar tabla" (Check table). También verás mensajes de error en tu web o en el log de errores.

P: ¿Reparar una tabla borra datos?
R: Normalmente no. El comando REPAIR TABLE intenta corregir la estructura sin eliminar filas. Sin embargo, si la tabla está muy dañada, es posible que pierdas algunos registros. Siempre haz backup antes.

P: ¿Puedo reparar tablas InnoDB con el mismo método?
R: Sí, phpMyAdmin y mysqlcheck también reparan tablas InnoDB, aunque el proceso es diferente. InnoDB es más tolerante a fallos, pero no es inmune.

P: ¿Qué hago si no tengo acceso a cPanel?
R: Si tu hosting usa Syspanel (antes conocido como HestiaCP), accede a través de tudominio.com:2106 con tus credenciales. Luego busca la sección de bases de datos o usa phpMyAdmin desde allí. El proceso es similar.

P: ¿Cada cuánto debo hacer mantenimiento a las tablas de MySQL?
R: Idealmente, una vez al mes. Si tu web tiene mucho tráfico o muchas escrituras (foros, tiendas), puedes hacerlo semanalmente.

P: ¿El plugin "WP-DBManager" de WordPress repara tablas?
R: Sí, muchos plugins de gestión de bases de datos incluyen opciones de reparación. Pero siempre es más fiable hacerlo desde cPanel o phpMyAdmin.


Conclusión

Reparar tablas de MySQL en cPanel no es complicado si sigues los pasos adecuados. Empieza siempre por phpMyAdmin, que es la opción más visual y segura. Si eso no funciona, prueba con la línea de comandos o la herramienta de cPanel. Y recuerda: la mejor reparación es la que no haces porque mantienes tu base de datos sana con backups y verificaciones periódicas.

Espero que esta guía te haya sido útil. Si tienes más dudas, déjalas en los comentarios o contacta con tu soporte técnico. ¡Tu web volverá a volar en poco tiempo!

¿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