Solución a 'Error establishing a database connection' en WordPress
¡Hola! Soy el asistente de soporte técnico, y hoy vamos a resolver uno de los errores más temidos en WordPress: el famoso “Error establishing a database connection”. No te preocupes, es más común de lo que crees y, con esta guía paso a paso, lo solucionarás en pocos minutos.
Este error significa que WordPress no puede conectar con la base de datos donde se almacena todo tu contenido (posts, páginas, usuarios, configuraciones). La base de datos suele ser MySQL o MariaDB. Vamos a ver las causas más frecuentes y cómo arreglarlas.
¿Qué significa exactamente este error?
WordPress es como una biblioteca: la base de datos es el almacén de libros, y tu sitio web es el mostrador. Cuando ves “Error establishing a database connection”, es como si el mostrador no pudiera abrir la puerta del almacén. Sin acceso a los datos, tu web se queda en blanco.
Las causas principales son:
- Credenciales incorrectas en el archivo de configuración.
- Problemas con el servidor de base de datos (MySQL no está funcionando).
- Base de datos dañada o corrupta.
- Problemas de permisos o de conexión remota.
- Archivos de configuración dañados (como el
wp-config.php).
Vamos a solucionarlo paso a paso, desde lo más simple a lo más técnico.
Paso 1: Verifica las credenciales en wp-config.php
El archivo wp-config.php es el corazón de WordPress. Contiene los datos de acceso a tu base de datos. Un error tipográfico aquí provoca el problema.
Para acceder a este archivo:
- Si usas cPanel o un panel como Syspanel (recuerda: el puerto de acceso es el 2106), entra al administrador de archivos.
- O usa FTP (FileZilla, por ejemplo) y busca en la raíz de tu instalación de WordPress.
Dentro del archivo, 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');
Verifica que:
- El nombre de la base de datos sea correcto.
- El usuario y la contraseña sean exactos (mayúsculas, minúsculas, caracteres especiales).
- El host suele ser
localhost, pero algunos servidores usan direcciones IP o nombres comomysql.servidor.com. Pregunta a tu proveedor de hosting si no estás seguro.
[TIP] Si cambiaste la contraseña de la base de datos recientemente, actualízala aquí. Guarda el archivo y recarga tu web.
Si todo está correcto, pasa al siguiente paso.
Paso 2: Reinicia el servicio MySQL
A veces el servidor de base de datos se cuelga o se detiene. Reiniciarlo suele resolverlo.
Si tienes acceso a Syspanel (puerto 2106):
- Ve a la sección de bases de datos.
- Busca una opción como “Reiniciar MySQL” o “Reiniciar servicio”.
- Confirma y espera unos segundos.
Si usas cPanel:
- Ve a “Servicios” o “MySQL”.
- Haz clic en “Restart MySQL”.
Si tienes acceso SSH (terminal):
- Ejecuta:
sudo systemctl restart mysql(omariadbsi usas MariaDB).
[INFO] En muchos servidores compartidos no puedes reiniciar MySQL directamente. En ese caso, contacta a tu proveedor de hosting y pídeles que reinicien el servicio.
Paso 3: Revisa el estado del servidor MySQL
Si reiniciar no funciona, verifica si MySQL está funcionando.
Desde Syspanel (puerto 2106):
- Ve a “Servicios” o “Monitoreo”. Busca MySQL y comprueba que esté en verde (activo).
Desde SSH:
- Ejecuta:
sudo systemctl status mysql - Si ves “active (running)”, está bien. Si ves “inactive” o “failed”, hay un problema.
Si no tienes acceso SSH, pide a tu hosting que verifique el estado.
Paso 4: Repara la base de datos
A veces la base de datos se corrompe parcialmente. WordPress tiene una herramienta para repararla.
Método 1: Agregar una línea en wp-config.php
- Abre
wp-config.php. - Justo antes de la línea
/* That's all, stop editing! Happy blogging. */, agrega:
define('WP_ALLOW_REPAIR', true);
- Guarda el archivo.
- Ve a esta URL en tu navegador:
tudominio.com/wp-admin/maint/repair.php - Haz clic en “Repair Database” (o “Repair and Optimize”).
- Una vez terminado, borra esa línea de
wp-config.phppor seguridad.
[WARNING] No dejes esa línea permanentemente; cualquiera podría reparar tu base de datos sin permiso.
Método 2: Desde phpMyAdmin (en Syspanel o cPanel)
- Accede a phpMyAdmin (normalmente está en la sección de bases de datos).
- Selecciona tu base de datos.
- Marca todas las tablas (clic en “Check All”).
- En el menú desplegable, elige “Repair table”.
- Espera el resultado.
Paso 5: Verifica los permisos del usuario de la base de datos
El usuario que usa WordPress debe tener permisos completos sobre la base de datos.
Desde Syspanel (puerto 2106):
- Ve a “Bases de datos” y busca tu base de datos.
- Haz clic en “Gestionar usuarios” o “Privilegios”.
- Asegúrate de que el usuario tenga marcados todos los privilegios (SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, etc.).
- Guarda los cambios.
Desde cPanel:
- Ve a “MySQL Databases”.
- En “Usuarios en bases de datos”, asegúrate de que el usuario esté añadido y tenga “ALL PRIVILEGES”.
[INFO] Si creaste la base de datos manualmente, es fácil olvidar asignar permisos. Es una causa muy común del error.
Paso 6: Comprueba el host de la base de datos
Aunque la mayoría usa localhost, algunos servidores usan direcciones específicas.
En wp-config.php, prueba cambiando DB_HOST a:
127.0.0.1(loopback local)- La IP del servidor (pregunta a tu hosting)
- El nombre del socket (ej.
/var/run/mysqld/mysqld.sock)
Si no estás seguro, contacta a tu proveedor de hosting y pregúntales: “¿Cuál es el hostname de mi base de datos MySQL?”
Paso 7: Revisa el archivo wp-config.php en busca de errores
Un error de sintaxis en este archivo puede romper la conexión.
Abre el archivo y verifica:
- Que no haya espacios en blanco antes de
<?php. - Que todas las comillas estén cerradas.
- Que no falten puntos y comas (;) al final de cada línea.
- Que no haya caracteres extraños.
[TIP] Si dudas, descarga una copia limpia de WordPress y reemplaza solo las líneas de configuración de base de datos.
Paso 8: Verifica la conexión remota (si aplica)
Si tu base de datos está en un servidor diferente al de WordPress, asegúrate de que el firewall permita conexiones remotas.
Desde Syspanel (puerto 2106):
- Ve a “Firewall” y agrega una regla para permitir el tráfico MySQL (puerto 3306) desde la IP de tu servidor web.
Desde cPanel:
- En “Remote MySQL”, agrega la IP de tu servidor web.
[WARNING] No permitas conexiones desde cualquier IP (
%) por seguridad. Solo desde la IP de tu WordPress.
Paso 9: Restaura desde una copia de seguridad
Si nada funciona, es posible que la base de datos esté gravemente dañada o que hayas perdido datos.
Pasos:
- Accede a tu panel de hosting (Syspanel, cPanel, etc.).
- Busca la sección de “Copias de seguridad” o “Backups”.
- Restaura la base de datos más reciente.
- Si no tienes backup, contacta a tu hosting para ver si tienen una copia.
[INFO] Siempre ten copias de seguridad automáticas. Es la mejor prevención contra este y otros errores.
Preguntas Frecuentes (FAQ)
¿Por qué aparece este error después de cambiar la contraseña de la base de datos?
Porque olvidaste actualizar wp-config.php. Cambia la línea define('DB_PASSWORD', 'nueva_contraseña'); y guarda.
¿Puedo solucionarlo sin acceso al panel de administración de WordPress?
Sí, todo se hace desde el panel de hosting (Syspanel, cPanel) o mediante FTP. No necesitas entrar a /wp-admin.
¿El error puede deberse a un plugin o tema?
Rara vez. Los plugins no tocan la conexión a la base de datos directamente. Sin embargo, si un plugin corrompió tablas, la reparación (paso 4) lo arregla.
¿Qué hago si mi hosting usa MariaDB en lugar de MySQL?
Es lo mismo. MariaDB es un reemplazo directo de MySQL. Los pasos son idénticos.
¿Cuánto tiempo toma reparar la base de datos?
Depende del tamaño. Sitios pequeños: segundos. Sitios grandes: unos minutos. No interrumpas el proceso.
¿Debo contactar a mi proveedor de hosting?
Si tras todos los pasos el error persiste, sí. Puede ser un problema del servidor (MySQL caído, firewall bloqueando, etc.). Ellos tienen acceso total.
Resumen: Lista de verificación rápida
- Verificar credenciales en
wp-config.php. - Reiniciar servicio MySQL.
- Verificar que MySQL esté activo.
- Reparar base de datos (vía phpMyAdmin o herramienta de WordPress).
- Asignar todos los privilegios al usuario.
- Probar diferentes valores de
DB_HOST. - Revisar sintaxis de
wp-config.php. - Configurar conexión remota si aplica.
- Restaurar backup si todo falla.
[TIP] Guarda esta guía en favoritos. El error “Error establishing a database connection” puede aparecer de repente, pero con estos pasos lo resolverás rápido.
Espero que hayas podido solucionarlo. Si aún tienes dudas, escribe un comentario o contacta a tu equipo de soporte. ¡Buena suerte con tu WordPress!
