«Error establishing a database connection» en WordPress – Causas y cómo solucionarlo
Uno de los errores más comunes (y frustrantes) en WordPress es:
“Error establishing a database connection”
(Error al establecer conexión con la base de datos)

¿Puede ser un problema del hosting?
Sí, a veces el servidor de base de datos está caído o bloqueado temporalmente.
¿Cambia algo si migré mi web?
Sí. Si migraste, puede que no actualizaste los datos del nuevo servidor en el archivo wp-config.php.
¿Lo puedo arreglar sin tocar código?
Depende. Si solo es una contraseña mal puesta o un ajuste del panel, sí. Si es más técnico, quizá necesites ayuda.
Introducción
Uno de los errores más frustrantes en WordPress es el famoso:
Error establishing a database connection
Este mensaje aparece cuando WordPress no consigue conectarse a la base de datos. Y sin esa conexión, la web no puede cargar páginas, entradas, usuarios ni ajustes.
Aunque pueda parecer un error grave, en muchos casos la causa está bastante clara: datos incorrectos en la configuración, problemas tras una migración, permisos mal asignados o incluso un servidor de base de datos caído temporalmente.
En esta guía te explico todas las causas más habituales, cómo revisarlas paso a paso y qué hacer en cada caso.
Qué significa este error realmente
WordPress necesita 4 datos básicos para conectar con la base de datos:
- Nombre de la base de datos
- Usuario
- Contraseña
- Host de la base de datos
Si uno de esos datos está mal, o si el servidor no permite la conexión, WordPress no puede cargar y muestra este error.
En la mayoría de instalaciones, estos datos están en el archivo:
wp-config.php
Principales causas y soluciones
1. Datos incorrectos en el archivo wp-config.php
Esta es una de las causas más comunes.
El archivo wp-config.php contiene la configuración que WordPress usa para conectarse a la base de datos. Si alguno de esos datos no coincide con los reales, aparecerá el error.
Qué revisar
Busca estas líneas en tu wp-config.php:
define('DB_NAME', 'nombredb');
define('DB_USER', 'usuario');
define('DB_PASSWORD', 'clave');
define('DB_HOST', 'localhost');
Qué comprobar
- Que
DB_NAMEsea exactamente el nombre real de la base de datos - Que
DB_USERsea el usuario correcto - Que
DB_PASSWORDcoincida con la contraseña actual - Que
DB_HOSTsea el host correcto
Importante sobre DB_HOST
Muchas veces se asume que el host es localhost, pero no siempre es así.
Dependiendo del proveedor, puede ser algo como:
localhostdb1234.hosting.commysql.example.net- una IP privada o pública
Qué hacer
Entra al panel de tu hosting y confirma los datos exactos de la base de datos. Si alguno no coincide, actualízalo en wp-config.php, guarda y vuelve a probar la web.
2. Migración incompleta o mal configurada
Este error aparece muchísimo después de una migración de WordPress.
En muchos casos, se copian bien los archivos, se importa la base de datos, pero el wp-config.php sigue apuntando a la base de datos antigua o a datos que ya no existen.
Qué suele pasar
- Se mantiene el nombre de la base de datos del servidor anterior
- Se usa un usuario antiguo
- La contraseña ya no coincide
- El
DB_HOSTdel nuevo proveedor es distinto
Solución paso a paso
- Accede al nuevo hosting
- Localiza la nueva base de datos creada para la web
- Copia el nombre, usuario, contraseña y host exactos
- Abre el archivo
wp-config.php - Sustituye los valores antiguos por los nuevos
- Guarda cambios
- Vuelve a cargar la web
Consejo
Si has migrado manualmente, asegúrate también de que la base de datos importada realmente contiene todas las tablas y no está vacía.
3. Base de datos externa bloqueada
Este punto es muy importante y mucha gente no lo sabe.
Algunos proveedores de hosting no permiten conexiones externas a sus bases de datos. Es decir, la base de datos solo puede ser usada desde el mismo entorno de hosting donde fue creada.
Ejemplo real
Si tienes una base de datos en IONOS y quieres conectarla a un WordPress alojado en GoDaddy, es muy posible que no funcione.
Una base de datos de IONOS no puede conectarse desde una web alojada en GoDaddy.
Por qué ocurre
Muchos hostings bloquean las conexiones remotas por motivos de seguridad.
Qué hacer
- Alojar tanto WordPress como la base de datos en el mismo proveedor
- O comprobar si el proveedor permite conexiones remotas y autorizar la IP del servidor de origen
Importante
Esto no suele ser un problema de WordPress, sino de política de red y seguridad del hosting.
4. Servidor de base de datos caído
A veces el problema no está en tu configuración, sino en que el servidor MySQL o MariaDB del proveedor está temporalmente caído.
Síntomas
- Todo estaba bien y de repente deja de funcionar
- No has tocado nada
- La web muestra directamente el error sin cambios recientes
Qué hacer
- Revisa si tu proveedor muestra incidencias activas
- Contacta con soporte y pregunta si el servicio de base de datos está operativo
- Espera unos minutos y vuelve a probar
Nota
Esto suele ser menos frecuente que un error de configuración, pero puede pasar.
5. Corrupción de la base de datos
En algunos casos, la base de datos o alguna de sus tablas puede haberse dañado.
Esto puede ocurrir por:
- caídas del servidor
- importaciones incompletas
- cierres inesperados
- problemas de disco
- plugins que interrumpen operaciones críticas
Cómo detectarlo
Accede a phpMyAdmin y revisa si ves las tablas correctamente o si aparece algún error al abrirlas.
Posible solución
WordPress incluye una herramienta de reparación básica.
Añade temporalmente esta línea a tu wp-config.php:
define('WP_ALLOW_REPAIR', true);
Después accede a:
tudominio.com/wp-admin/maint/repair.php
Importante
Cuando termines, elimina esa línea del wp-config.php.
Recomendación
Haz siempre una copia antes de reparar o modificar nada en la base de datos.
6. Usuario sin permisos suficientes
El usuario de la base de datos puede estar creado, pero no tener los permisos suficientes.
Esto ocurre especialmente cuando la base de datos está alojada en un servidor gestionado por el cliente, como un VPS o un servidor dedicado.
Desde el panel de control, como cPanel o Plesk, o mediante acceso por SSH, revisa la configuración del usuario y asegúrate de que tenga todos los privilegios sobre la base de datos asociada a tu instalación de WordPress.
Qué revisar
El usuario debe tener permisos como:
- SELECT
- INSERT
- UPDATE
- DELETE
- CREATE
- ALTER
- INDEX
- DROP
En hostings compartidos suele venir ya configurado, pero en VPS y dedicados es más habitual que este punto falle.
7. Cambios recientes o actualizaciones
Actualizaciones de plugins, temas o del propio WordPress pueden afectar la configuración y provocar errores como este.
Si el problema apareció justo después de una actualización, revisa el archivo wp-config.php y la configuración de tu hosting.
Además, si tu proveedor lo permite, intenta restaurar una copia de seguridad reciente. La mayoría de los hostings ofrecen backups automáticos de hasta una semana.
Restaurar una versión anterior, cuando la web funcionaba correctamente, puede ser la forma más rápida de recuperar el sitio mientras investigas la causa real.
Cuándo tiene sentido restaurar un backup
- Si no sabes exactamente qué cambió
- Si la web funcionaba perfectamente hace unas horas o pocos días
- Si necesitas recuperar el servicio cuanto antes
8. Bonus: WordPress muestra la instalación desde cero tras conectar la base de datos
Este caso es muy común después de arreglar la conexión.
Ya no sale el error de base de datos, pero al abrir la web aparece el asistente de instalación de WordPress, como si fuese una web nueva.
Qué significa
WordPress sí está conectando con una base de datos, pero no está reconociendo una instalación válida dentro de ella.
Esto suele deberse a dos motivos.
8A. La base de datos no se ha migrado correctamente
Puede ocurrir que:
- La base de datos esté vacía
- Falten tablas importantes
- La importación se haya hecho de forma incompleta
- Se haya importado una base de datos equivocada
Qué revisar
Accede a phpMyAdmin y comprueba si existen tablas como:
wp_optionswp_postswp_userswp_postmetawp_terms
Si faltan varias de estas tablas, o la base de datos está casi vacía, la migración no está bien hecha.
Solución paso a paso
- Accede a la base de datos desde phpMyAdmin
- Verifica que las tablas existan
- Comprueba que tengan contenido
- Si faltan tablas o no hay datos, repite la importación
- Asegúrate de exportar todas las tablas desde la web original
- Vuelve a importar correctamente en el nuevo entorno
8B. El prefijo de tablas no coincide con el de wp-config.php
Cada instalación de WordPress usa un prefijo de tablas, que se define en wp-config.php.
Por ejemplo:
$table_prefix = 'wp_';
Pero en tu base de datos real puede que las tablas empiecen por otro prefijo, como por ejemplo:
jvs3_optionsjvs3_postsjvs3_users
Si WordPress busca tablas con prefijo wp_, pero las reales usan jvs3_, no las va a reconocer y lanzará el instalador.
Cómo revisarlo
- Abre phpMyAdmin
- Mira cómo empiezan las tablas reales
- Abre
wp-config.php - Busca esta línea:
$table_prefix = 'wp_';
- Sustituye
wp_por el prefijo correcto
Ejemplo:
$table_prefix = 'jvs33_';
- Guarda el archivo
- Vuelve a cargar la web
Consejo importante
No cambies a mano el nombre de las tablas en phpMyAdmin salvo que sepas exactamente lo que estás haciendo.
Lo más seguro, en la mayoría de casos, es corregir el wp-config.php.
Cómo revisar todo esto de forma ordenada
Si quieres hacerlo de forma lógica y sin volverte loco, revisa en este orden:
wp-config.php- Datos reales de la base de datos en el hosting
- Si la base de datos está en el mismo proveedor
- Si el servidor de base de datos está operativo
- Si las tablas existen en phpMyAdmin
- Si el usuario tiene permisos
- Si el prefijo de las tablas coincide
- Si hay backup reciente para restaurar
Errores típicos que veo en este problema
- Copiar el
wp-config.phpantiguo sin actualizar nada - Suponer que
DB_HOSTsiempre eslocalhost - Importar una base de datos vacía o incompleta
- No comprobar el prefijo de tablas
- Intentar usar una base de datos de un proveedor externo que bloquea conexiones
- Restaurar archivos pero no la base de datos
- Crear el usuario de la base de datos pero sin permisos
Conclusión
El error “Error establishing a database connection” puede parecer muy grave, pero normalmente tiene una explicación concreta.
La mayoría de veces se debe a:
- datos incorrectos en
wp-config.php - una migración mal terminada
- restricciones del proveedor
- permisos del usuario
- o una base de datos que no coincide con la instalación esperada
Lo importante es revisar cada punto con orden y no asumir que el problema es “de WordPress” o “del servidor” sin comprobarlo.
¿No consigues arreglarlo? :/
Si ya has revisado la configuración y el error sigue apareciendo, puedo ayudarte a detectar la causa real y recuperar tu web sin perder más tiempo.
Yo me encargo de revisarlo y dejarlo funcionando!
