WordPress: Solucionar error 'Error establishing a database connection'
¿Te has encontrado con el temido mensaje "Error establishing a database connection" en tu sitio WordPress? No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. En esta guía extensa, te explicaré paso a paso qué significa, por qué ocurre y cómo arreglarlo, incluso si no eres un experto técnico.
¿Qué significa este error y por qué ocurre?
WordPress utiliza una base de datos (normalmente MySQL o MariaDB) para almacenar todo tu contenido: entradas, páginas, comentarios, usuarios y configuraciones. Cuando visitas tu web, WordPress intenta conectarse a esa base de datos para mostrar la información. Si algo falla en esa conexión, aparece el mensaje "Error establishing a database connection".
Las causas más comunes incluyen:
- Credenciales incorrectas en el archivo de configuración (wp-config.php).
- La base de datos o el usuario no existen o han sido eliminados accidentalmente.
- El servidor de base de datos está caído o sobrecargado.
- Problemas con el hosting (límites de recursos, mantenimiento, etc.).
- Corrupción de la base de datos (poco común pero posible).
- Plugin o tema conflictivo que interfiere con la conexión.
[INFO] Este error suele ser temporal y se puede resolver sin perder datos. Lo primero es mantener la calma y seguir los pasos en orden.
Paso 1: Verificar el estado del servidor de base de datos
Antes de tocar archivos, asegúrate de que el problema no sea del servidor. Muchas veces el hosting tiene una caída momentánea o está realizando mantenimiento.
¿Cómo comprobarlo?
- Desde el panel de control (Syspanel): Si tu hosting usa Syspanel (acceso por puerto 2106), inicia sesión y busca la sección de "Base de Datos" o "Estado del servidor". Algunos paneles muestran si el servicio MySQL está activo.
- Desde otro sitio web: Si tienes otro sitio en el mismo hosting, visita una página simple. Si también falla, el problema es del servidor.
- Contacta al soporte técnico: Si no estás seguro, envía un ticket a tu proveedor de hosting. Ellos pueden verificar rápidamente si el servidor de base de datos está funcionando.
[TIP] Si el servidor está caído, solo te queda esperar. No modifiques nada hasta que se restablezca el servicio.
Paso 2: Revisar el archivo wp-config.php
El archivo wp-config.php contiene las credenciales de conexión a la base de datos. Si están mal escritas o desactualizadas, WordPress no podrá conectar.
¿Dónde está este archivo?
Está en la carpeta raíz de tu instalación de WordPress (normalmente public_html o www). Puedes acceder a él mediante FTP o el administrador de archivos de Syspanel.
¿Qué debes buscar?
Abre el archivo con un editor de texto (como Notepad++ o el editor integrado de Syspanel) y busca estas líneas:
define('DB_NAME', 'nombre_base_datos');
define('DB_USER', 'usuario_base_datos');
define('DB_PASSWORD', 'contraseña_base_datos');
define('DB_HOST', 'localhost');
¿Qué debes verificar?
- DB_NAME: Debe coincidir exactamente con el nombre de tu base de datos (sensible a mayúsculas/minúsculas).
- DB_USER: El usuario que tiene permisos sobre esa base de datos.
- DB_PASSWORD: La contraseña correcta. A veces se cambia en el panel y no se actualiza aquí.
- DB_HOST: Normalmente es
localhost, pero algunos hostings usan una dirección IP o un nombre comomysql.servidor.com.
[WARNING] No uses espacios extra ni comillas incorrectas. El archivo debe ser válido en PHP. Si editas mal, podrías romper todo el sitio.
¿Cómo obtener las credenciales correctas?
- En Syspanel, ve a la sección "Base de Datos" o "MySQL". Allí verás las bases de datos creadas y los usuarios asociados. Puedes crear un nuevo usuario o restablecer la contraseña.
- Si no recuerdas la contraseña, puedes cambiarla desde Syspanel y luego actualizar el archivo
wp-config.php.
Ejemplo de corrección
Supón que en Syspanel ves que tu base de datos se llama mipagina_wp, el usuario es admin_wp y la contraseña es ClaveSegura123. Tu archivo debería tener:
define('DB_NAME', 'mipagina_wp');
define('DB_USER', 'admin_wp');
define('DB_PASSWORD', 'ClaveSegura123');
define('DB_HOST', 'localhost');
Guarda los cambios y recarga tu web.
Paso 3: Probar la conexión manualmente desde Syspanel
Si las credenciales parecen correctas pero el error persiste, puedes probar la conexión directamente desde el panel.
Pasos en Syspanel (puerto 2106):
- Inicia sesión en Syspanel (ejemplo:
tudominio.com:2106). - Ve a "Base de Datos" y selecciona "phpMyAdmin" (o "Administrar" junto a tu base de datos).
- En phpMyAdmin, intenta iniciar sesión con el usuario y contraseña que pusiste en
wp-config.php.- Si no puedes iniciar sesión, las credenciales son incorrectas. Crea un nuevo usuario o restablece la contraseña desde Syspanel.
- Si puedes iniciar sesión, entonces el problema no son las credenciales. Sigue al siguiente paso.
[INFO] Si no tienes acceso a phpMyAdmin, pide a tu hosting que verifique la conexión.
Paso 4: Reparar la base de datos (si está corrupta)
A veces la base de datos se corrompe por cortes de energía, errores de plugins o actualizaciones fallidas. WordPress tiene una herramienta de reparación integrada.
¿Cómo activarla?
- Abre el archivo
wp-config.php. - Agrega esta línea justo antes del comentario final que dice
/* That's all, stop editing! Happy blogging. */:
define('WP_ALLOW_REPAIR', true);
- Guarda el archivo.
- Visita esta URL en tu navegador:
tudominio.com/wp-admin/maint/repair.php - Verás dos opciones:
- Reparar base de datos (solo repara tablas con errores).
- Reparar y optimizar base de datos (repara y optimiza todas las tablas). Recomendamos la segunda.
- Haz clic en el botón correspondiente y espera a que termine.
- Importante: Una vez terminado, elimina la línea que agregaste en
wp-config.php(o cambiatrueafalse). Si la dejas, cualquiera podría reparar tu base de datos.
[WARNING] Esta herramienta solo debe usarse cuando sea necesario. No la dejes activada permanentemente.
Paso 5: Verificar problemas de plugins o temas
Si los pasos anteriores no funcionan, puede que un plugin o tema esté causando el error. Esto es menos común, pero sucede.
¿Cómo probarlo?
- Desactiva todos los plugins: Accede a tu servidor por FTP o Syspanel y renombra la carpeta
wp-content/pluginsawp-content/plugins_desactivados. Esto desactivará todos los plugins de golpe. Si el error desaparece, el problema es un plugin. Luego, ve renombrando uno por uno hasta encontrar el culpable. - Cambia al tema por defecto: Renombra la carpeta de tu tema activo (por ejemplo,
wp-content/themes/tu-temaawp-content/themes/tu-tema_backup). WordPress usará automáticamente el tema por defecto (Twenty Twenty-Four o similar). Si el error se soluciona, tu tema tiene un problema.
[TIP] Si no puedes acceder al panel de administración, estos pasos desde FTP son tu salvación.
Paso 6: Comprobar los límites del hosting
A veces el error aparece cuando tu sitio supera los límites de recursos del hosting (como conexiones simultáneas a la base de datos). Esto es común en planes compartidos.
¿Qué puedes hacer?
- Revisa el uso de recursos en Syspanel (sección "Estadísticas" o "Uso de recursos").
- Optimiza tu sitio: Reduce el número de plugins, usa caché, comprime imágenes y elimina consultas pesadas.
- Actualiza tu plan de hosting si llegas al límite constantemente.
[INFO] Si el error ocurre solo en horas pico, es probable que sea por límites de recursos.
Paso 7: Restaurar desde una copia de seguridad
Si nada funciona, la opción más drástica pero segura es restaurar tu sitio desde una copia de seguridad reciente. Asegúrate de tener una copia tanto de los archivos como de la base de datos.
¿Cómo hacerlo en Syspanel?
- Ve a "Copias de seguridad" o "Backups".
- Selecciona una copia de seguridad anterior a cuando empezó el error.
- Restaura primero los archivos y luego la base de datos (o todo junto si la opción existe).
[WARNING] Asegúrate de que la copia de seguridad sea confiable. Si no tienes una, contacta a tu hosting; algunos guardan copias automáticas.
FAQ WordPress: Preguntas frecuentes sobre este error
¿Por qué aparece este error después de mover mi sitio?
Al cambiar de hosting o dominio, las credenciales de la base de datos suelen cambiar. Debes actualizar el archivo wp-config.php con los nuevos datos.
¿Puedo perder mi contenido?
No, este error no borra tu contenido. Solo impide que se muestre. Tus entradas, páginas y configuraciones siguen en la base de datos.
¿El error puede ser por un ataque?
Sí, aunque es raro. Un ataque DDoS o un intento de inyección SQL puede saturar el servidor de base de datos. Si sospechas, cambia todas las contraseñas y revisa los logs de seguridad en Syspanel.
¿Qué hago si no entiendo nada de archivos PHP?
Pide ayuda a tu proveedor de hosting. Ellos pueden revisar el archivo wp-config.php y verificar la conexión por ti. También puedes contratar a un desarrollador freelance.
¿Cómo evitar este error en el futuro?
- Mantén copias de seguridad periódicas (al menos semanales).
- Actualiza WordPress, plugins y temas regularmente.
- No instales plugins de fuentes no confiables.
- Monitorea el uso de recursos de tu hosting.
[TIP] Programa copias de seguridad automáticas desde Syspanel. Muchos hostings las ofrecen gratis.
Resumen y checklist final
Sigue este orden para resolver el error:
- ✅ Verifica que el servidor de base de datos esté activo.
- ✅ Revisa las credenciales en
wp-config.php. - ✅ Prueba la conexión manualmente con phpMyAdmin.
- ✅ Repara la base de datos si es necesario.
- ✅ Desactiva plugins y temas conflictivos.
- ✅ Revisa los límites de recursos del hosting.
- ✅ Restaura desde una copia de seguridad como último recurso.
Si después de todo esto el error persiste, contacta al soporte técnico de tu hosting. Ellos tienen acceso directo a los logs del servidor y pueden identificar el problema rápidamente.
Recuerda: este error es molesto pero casi siempre solucionable. Con paciencia y siguiendo estos pasos, tu sitio volverá a estar en línea. ¡Buena suerte!
