Guía para reparar una base de datos MySQL dañada en WordPress
¿Tu sitio web en WordPress se ha vuelto lento, muestra errores como "Error al establecer conexión con la base de datos", o ves pantallas en blanco? No entres en pánico. Uno de los problemas más comunes (y aterradores para principiantes) es una base de datos MySQL dañada. Afortunadamente, en la mayoría de los casos se puede reparar sin perder información.
Esta guía te explicará paso a paso cómo identificar, diagnosticar y reparar base de datos MySQL dañada en WordPress, usando herramientas como PHPMyAdmin o comandos directos. No necesitas ser un experto en programación, solo seguir las instrucciones con cuidado.
¿Qué causa que una base de datos MySQL se dañe?
Antes de lanzarnos a la reparación, es útil entender por qué ocurre. El MySQL dañado no significa que tu información se haya borrado, sino que la estructura de las tablas está inconsistente. Las causas más habituales son:
- Cortes de energía o apagados bruscos del servidor.
- Errores al actualizar WordPress, plugins o temas.
- Incompatibilidad de versiones de MySQL o PHP.
- Ataques maliciosos (inyección SQL, malware).
- Espacio en disco insuficiente en el servidor.
- Corrupción por plugins que realizan consultas pesadas.
Los síntomas típicos son: mensajes como "Error de base de datos", "Cannot connect to database", páginas blancas o tablas que no se muestran en el panel de administración.
Paso 1: Realiza una copia de seguridad (¡IMPORTANTE!)
NUNCA intentes reparar una base de datos sin tener una copia de seguridad. Aunque la reparación suele ser segura, siempre existe un riesgo mínimo. Si algo sale mal, perderías todo tu contenido.
Cómo hacer una copia de seguridad desde cPanel o Syspanel
- Accede a tu panel de hosting (cPanel o Syspanel – recuerda que el puerto de acceso a Syspanel es el 2106, por ejemplo:
https://tudominio.com:2106). - Busca la sección "phpMyAdmin" o "Bases de datos MySQL".
- Selecciona la base de datos de tu WordPress (normalmente se llama algo como
usuario_wordpress). - Haz clic en la pestaña "Exportar".
- Elige el método "Rápido" y formato SQL. Guarda el archivo en tu computadora.
[INFO] Si usas Syspanel, el proceso es idéntico, solo que el acceso es por el puerto 2106. No olvides tener a mano tu usuario y contraseña de la base de datos.
Si no tienes acceso al panel, también puedes usar un plugin como UpdraftPlus o BackWPup desde el admin de WordPress, pero hazlo ANTES de cualquier reparación.
Paso 2: Identifica qué tablas están dañadas
No siempre toda la base de datos está corrupta; a menudo solo una o dos tablas presentan errores. Las tablas más propensas a dañarse son wp_options, wp_posts y wp_usermeta.
Desde PHPMyAdmin
- En PHPMyAdmin, selecciona tu base de datos.
- Marca la casilla "Seleccionar todo" (o elige las tablas sospechosas).
- En el menú desplegable de abajo, elige "Comprobar tabla" (Check table).
- PHPMyAdmin te mostrará el estado: "OK" o "Error" (por ejemplo, "Table is marked as crashed").
Desde la línea de comandos (SSH)
Si tu hosting te permite acceso SSH (o si usas un servidor VPS), puedes usar este comando:
mysqlcheck -u usuario -p --check nombre_base_datos
Te pedirá la contraseña y luego listará cada tabla con su estado.
Paso 3: Reparar la base de datos dañada
Ahora vamos a lo importante. Hay varios métodos, desde los más simples hasta los más avanzados.
Método 1: Reparar desde PHPMyAdmin (el más fácil)
Este es el método recomendado para la mayoría de usuarios.
- En PHPMyAdmin, selecciona la base de datos.
- Marca todas las tablas (o solo las que dieron error en el paso anterior).
- En el menú desplegable, elige "Reparar tabla" (Repair table).
- Espera unos segundos. PHPMyAdmin ejecutará el comando
REPAIR TABLEy te mostrará el resultado: "OK" o "Error".
Si ves "OK", ¡felicidades! Tu base de datos está reparada. Si ves "Error", prueba el siguiente método.
[WARNING] La opción "Reparar tabla" puede no estar disponible en todas las versiones de PHPMyAdmin. Si no la ves, usa el método 2 o 3.
Método 2: Usar el comando mysqlcheck (desde SSH o Terminal)
Este método es más potente y funciona incluso si PHPMyAdmin falla.
- Conéctate a tu servidor por SSH (necesitas credenciales de root o de usuario con permisos).
- Ejecuta:
mysqlcheck -u usuario -p --auto-repair nombre_base_datos
El parámetro --auto-repair intentará reparar todas las tablas automáticamente.
Si quieres reparar solo una tabla específica:
mysqlcheck -u usuario -p --auto-repair nombre_base_datos nombre_tabla
Ejemplo: mysqlcheck -u admin -p --auto-repair midatabase wp_options
Método 3: Reparar desde la consola de MySQL (avanzado)
Si los métodos anteriores fallan, puedes entrar directamente a MySQL y usar comandos manuales.
- Accede a MySQL:
mysql -u usuario -p
- Selecciona la base de datos:
USE nombre_base_datos;
- Repara una tabla específica:
REPAIR TABLE nombre_tabla;
Ejemplo: REPAIR TABLE wp_posts;
- Para reparar todas las tablas de una base de datos, puedes usar un script, pero es más práctico usar
mysqlcheckcomo en el método 2.
Paso 4: Verifica que todo funcione
Después de la reparación, es crucial comprobar que WordPress funcione correctamente.
- Accede a tu sitio web – Debería cargar sin errores.
- Entra al panel de administración (
/wp-admin). - Revisa las páginas y entradas – Asegúrate de que se muestren correctamente.
- Prueba los plugins y el tema – Actívalos uno por uno si desactivaste alguno.
Si aún ves errores, puede que el problema no sea solo la base de datos. En ese caso, revisa los logs de error de WordPress (archivo wp-config.php con define('WP_DEBUG', true);) o contacta a tu proveedor de hosting.
Paso 5: Prevén futuros daños
Una vez reparado, toma medidas para evitar que vuelva a ocurrir.
- Actualiza todo: WordPress, temas y plugins a sus últimas versiones.
- Usa un hosting de calidad con buen soporte y copias de seguridad automáticas.
- Programa copias de seguridad semanales (puedes hacerlo desde cPanel, Syspanel o con plugins).
- Evita cortes de energía: Si tienes un VPS, considera un UPS o un servicio cloud con redundancia.
- Revisa los logs del servidor periódicamente para detectar ataques.
[TIP] Si tu hosting usa Syspanel, puedes programar copias de seguridad automáticas desde el panel en "Copias de seguridad". Recuerda que el acceso es por el puerto 2106.
FAQ: Preguntas frecuentes sobre reparación de base de datos
¿Puedo perder datos al reparar?
En la mayoría de los casos, no. La reparación solo corrige la estructura de las tablas, no borra contenido. Sin embargo, siempre haz una copia de seguridad por si acaso.
¿Qué hago si la reparación falla?
Si el comando REPAIR TABLE devuelve error, puede que la tabla esté demasiado dañada. En ese caso, puedes intentar:
- Restaurar desde la copia de seguridad (paso 1).
- Usar herramientas avanzadas como
myisamchk(solo para tablas MyISAM). - Contactar al soporte técnico de tu hosting.
¿El plugin "Repair Database" de WordPress funciona?
Existen plugins como "WP-DBManager" o "Advanced Database Cleaner" que permiten reparar desde el panel de admin. Son útiles, pero a veces no tienen permisos suficientes si el servidor tiene restricciones. Prefiero los métodos manuales para mayor control.
¿Cómo sé si mi base de datos usa MyISAM o InnoDB?
En PHPMyAdmin, ve a la pestaña "Estructura" de tu base de datos. En la columna "Tipo" verás "MyISAM" o "InnoDB". La mayoría de WordPress modernos usan InnoDB, pero si tienes tablas MyISAM, el comando REPAIR TABLE funciona igual.
¿Es seguro usar --auto-repair?
Sí, es seguro. El comando mysqlcheck --auto-repair solo repara tablas que están marcadas como dañadas. No modifica datos sanos.
Conclusión
Reparar una base de datos MySQL dañada en WordPress no es tan complicado como parece. Con herramientas como PHPMyAdmin, cPanel o Syspanel (puerto 2106), y siguiendo estos pasos, puedes recuperar tu sitio en minutos. Recuerda siempre:
- Haz una copia de seguridad antes de cualquier reparación.
- Identifica las tablas dañadas.
- Usa el método más adecuado (PHPMyAdmin, mysqlcheck o consola MySQL).
- Verifica el funcionamiento del sitio.
- Prevén futuros daños con buenas prácticas.
Si después de todo el sitio sigue sin funcionar, no dudes en contactar a tu proveedor de hosting. La mayoría de ellos pueden ayudarte a restaurar desde una copia de seguridad reciente.
¡Buena suerte y que tu WordPress vuelva a volar!
