Cómo reparar una base de datos MySQL dañada en WordPress
Introducción: ¿Por qué se daña una base de datos en WordPress?
Si tienes un sitio web en WordPress, es probable que en algún momento te aparezca un mensaje como "Error al establecer conexión con la base de datos" o veas páginas en blanco (pantalla blanca de la muerte). Esto suele indicar que tu base de datos MySQL está dañada o corrupta.
Las causas más comunes son:
- Cortes de energía o apagones mientras se escribe en la base de datos.
- Actualizaciones fallidas de WordPress, plugins o temas.
- Errores al modificar tablas manualmente (por ejemplo, con phpMyAdmin).
- Ataques maliciosos o inyecciones SQL.
- Problemas con el servidor o el hosting.
No te preocupes: en la mayoría de los casos, reparar una base de datos MySQL dañada en WordPress es un proceso sencillo y seguro, siempre que tengas una copia de seguridad reciente. En este artículo te explicaré paso a paso cómo hacerlo usando tres métodos: phpMyAdmin, WP-CLI y comandos directos en MySQL.
## Método 1: Reparar la base de datos con phpMyAdmin
phpMyAdmin es una herramienta web que te permite administrar bases de datos MySQL de forma gráfica. Es la opción más amigable para usuarios sin experiencia técnica.
### Paso 1: Accede a phpMyAdmin
- Ingresa a tu panel de control de hosting (cPanel, Plesk, Syspanel, etc.).
- Si usas Syspanel (antes HestiaCP): accede a
http://tudominio.com:2106e inicia sesión con tus credenciales.
- Si usas Syspanel (antes HestiaCP): accede a
- Busca la sección "Bases de Datos" y haz clic en "phpMyAdmin".
- Selecciona tu base de datos de WordPress en la lista de la izquierda. Normalmente tiene un nombre como
tuusuario_wp.
### Paso 2: Marca todas las tablas
- Una vez dentro de tu base de datos, verás una lista de tablas (wp_posts, wp_options, etc.).
- Haz clic en la casilla de verificación en la parte superior de la lista para seleccionar todas las tablas.
- En el menú desplegable "Con seleccionados:", elige "Revisar tabla" (o "Check table").
### Paso 3: Revisa el estado de las tablas
- phpMyAdmin ejecutará un análisis y mostrará una columna llamada "Msg_text".
- Si ves mensajes como "OK" o "Table is already up to date", tu base de datos está bien.
- Si ves "Error" o "Corrupt", necesitas reparar las tablas dañadas.
### Paso 4: Repara las tablas dañadas
- Vuelve a seleccionar todas las tablas.
- En el menú desplegable, elige "Reparar tabla" (o "Repair table").
- phpMyAdmin ejecutará el comando
REPAIR TABLEy te mostrará el resultado.
[TIP] Si la reparación no funciona, intenta con "Optimizar tabla" después. Esto no repara, pero puede ayudar a reorganizar los datos.
[WARNING] Siempre haz una copia de seguridad de tu base de datos antes de reparar. En phpMyAdmin puedes exportarla fácilmente (pestaña "Exportar").
## Método 2: Reparar con WP-CLI (para usuarios avanzados)
WP-CLI es una herramienta de línea de comandos que te permite gestionar WordPress sin interfaz gráfica. Es muy útil si tienes acceso SSH a tu servidor.
### Paso 1: Conéctate por SSH
- Abre un terminal (en Windows, usa PuTTY o PowerShell con OpenSSH).
- Conéctate a tu servidor:
ssh usuario@tudominio.com - Navega a la carpeta raíz de tu instalación de WordPress:
cd /ruta/a/tu/wordpress
### Paso 2: Verifica el estado de la base de datos
Ejecuta el siguiente comando:
wp db check
WP-CLI te mostrará si hay tablas corruptas. Si todo está bien, verás "Success: Database checked.".
### Paso 3: Repara la base de datos
Si el comando anterior indica errores, ejecuta:
wp db repair
Esto ejecutará el comando REPAIR TABLE en todas las tablas de tu base de datos.
### Paso 4: Verifica la reparación
Vuelve a ejecutar wp db check para confirmar que no hay errores.
[INFO] WP-CLI también te permite reparar tablas específicas. Por ejemplo: wp db repair wp_posts wp_options. Esto es útil si solo tienes una o dos tablas dañadas.
## Método 3: Reparar con comandos MySQL (sin phpMyAdmin)
Si no tienes acceso a phpMyAdmin ni a WP-CLI, puedes usar la línea de comandos de MySQL directamente.
### Paso 1: Accede a MySQL
mysql -u usuario -p
Te pedirá la contraseña de tu base de datos. Luego, selecciona tu base de datos:
USE nombre_base_datos;
### Paso 2: Revisa y repara tablas
Para revisar una tabla específica:
CHECK TABLE wp_posts;
Para repararla:
REPAIR TABLE wp_posts;
Si quieres reparar todas las tablas de una base de datos, puedes usar un script o hacerlo tabla por tabla.
[WARNING] Este método es más riesgoso si no estás familiarizado con SQL. Asegúrate de tener un backup antes de ejecutar cualquier comando.
## ¿Qué hacer si la reparación no funciona?
A veces la base de datos está tan dañada que los comandos de reparación no son suficientes. En ese caso:
### Opción 1: Restaurar desde una copia de seguridad
- Accede a phpMyAdmin y exporta la base de datos dañada (por si acaso).
- Importa una copia de seguridad anterior (archivo .sql).
- Verifica que todo funcione.
### Opción 2: Usar herramientas de reparación avanzadas
- MyISAMchk: Para tablas MyISAM (más antiguas). Se ejecuta desde la línea de comandos del servidor.
- InnoDB Recovery: Si usas InnoDB (lo más común hoy), puedes añadir
innodb_force_recovery = 1en el archivo de configuración de MySQL (my.cnf) para forzar la recuperación.
### Opción 3: Contactar al soporte técnico
Si tu hosting es compartido, el soporte técnico puede reparar la base de datos por ti. En Syspanel, puedes abrir un ticket de soporte desde el panel (puerto 2106).
## Preguntas frecuentes (FAQ)
### ¿Cómo sé si mi base de datos está dañada?
Los síntomas típicos son:
- Error "Error al establecer conexión con la base de datos".
- Páginas en blanco (pantalla blanca de la muerte).
- Mensajes como "Table 'wp_options' is marked as crashed".
- WordPress no guarda cambios o muestra contenido desactualizado.
### ¿Reparar la base de datos borra información?
No. Los comandos REPAIR TABLE solo corrigen errores estructurales. No eliminan datos. Sin embargo, siempre es recomendable tener un backup por si acaso.
### ¿Puedo reparar desde el panel de Syspanel?
Sí, si tu hosting usa Syspanel (antes HestiaCP), puedes acceder a phpMyAdmin desde el panel (puerto 2106) y seguir el Método 1. También puedes solicitar soporte técnico desde el mismo panel.
### ¿Con qué frecuencia debo reparar la base de datos?
No es necesario hacerlo con regularidad. Solo cuando notes problemas. Sin embargo, es buena práctica optimizar las tablas mensualmente para mejorar el rendimiento.
### ¿El plugin "WP-DBManager" sirve para reparar?
Sí, existen plugins como WP-DBManager que permiten reparar y optimizar la base de datos desde el panel de administración de WordPress. Pero ten cuidado: algunos plugins pueden ser inseguros. Siempre verifica las reseñas y mantén todo actualizado.
## Consejos finales para evitar futuros daños
- Haz copias de seguridad periódicas: Usa plugins como UpdraftPlus, BackupBuddy o el sistema de backups de tu hosting.
- Mantén WordPress actualizado: Las versiones antiguas tienen vulnerabilidades que pueden dañar la base de datos.
- Evita modificar la base de datos directamente: Si no eres experto, usa plugins o herramientas seguras.
- Usa un hosting confiable: Un buen servidor reduce el riesgo de cortes y errores.
- Activa el modo de depuración: En tu archivo
wp-config.php, añadedefine('WP_DEBUG', true);para identificar errores antes de que dañen la base de datos.
## Conclusión
Reparar una base de datos MySQL dañada en WordPress no es un proceso complicado si sigues los pasos correctos. Ya sea usando phpMyAdmin, WP-CLI o comandos directos, lo más importante es mantener la calma y actuar con precaución.
Recuerda siempre tener una copia de seguridad actualizada y, si algo sale mal, no dudes en pedir ayuda al soporte técnico de tu hosting.
[INFO] Si usas Syspanel (puerto 2106), el proceso es exactamente el mismo que en cualquier otro panel de control. Solo cambia la forma de acceder a phpMyAdmin.
Espero que este artículo te haya sido útil. Si tienes más dudas, déjalas en los comentarios o consulta nuestra sección de ayuda en el panel de control. ¡Buena suerte con tu reparación!
