Cómo solucionar el error de conexión con la base de datos
Abres tu web y, en lugar del contenido, aparece un mensaje seco: «Error al establecer una conexión con la base de datos». Es uno de los fallos más habituales en sitios WordPress y en cualquier aplicación que dependa de MySQL o MariaDB, y también uno de los más intimidantes, porque deja la web completamente inaccesible. La buena noticia es que casi siempre se debe a un número reducido de causas y se resuelve con un diagnóstico ordenado.
Qué significa este error
Las webs dinámicas no guardan su contenido en los archivos, sino en una base de datos: entradas, páginas, usuarios, pedidos, ajustes. Cada vez que alguien visita una página, el código PHP se conecta a esa base de datos, pide la información y construye el resultado.
El error aparece cuando esa conexión falla. Puede ser porque los datos de acceso son incorrectos, porque el servidor de base de datos no responde, porque la base de datos está dañada o porque se han agotado los recursos. Según la aplicación, el mensaje puede variar:
- WordPress: «Error establishing a database connection» o su versión en español.
- PrestaShop, Joomla, Magento: mensajes similares o pantallas de error genéricas.
- Errores de PHP: «Access denied for user», «Unknown database», «Too many connections» o «MySQL server has gone away».
El texto exacto es una pista valiosa, así que anótalo antes de hacer cambios.
Primer paso: comprueba si afecta a toda la web
Antes de buscar causas, delimita el problema:
- ¿Falla toda la web o solo algunas páginas? Si falla todo, suele ser un problema de conexión o de servidor. Si falla solo en parte, puede ser una tabla dañada o una consulta pesada.
- ¿Funciona el panel de administración (
/wp-admin)? A veces muestra un mensaje distinto que ayuda a diagnosticar, como una petición de reparar la base de datos. - ¿Puedes acceder a la base de datos desde el panel del hosting, por ejemplo con phpMyAdmin? Si puedes entrar y ver las tablas, el servidor de base de datos está funcionando.
- ¿Hay otras webs en el mismo hosting con el mismo problema? Si es así, probablemente se trate de una incidencia del servidor.
Causa 1: datos de conexión incorrectos
Es la causa más común, sobre todo tras una migración, un cambio de contraseña o la restauración de una copia de seguridad.
La conexión necesita cuatro datos: el nombre de la base de datos, el usuario, la contraseña y el servidor (host). En WordPress se encuentran en el archivo wp-config.php, en las líneas DB_NAME, DB_USER, DB_PASSWORD y DB_HOST.
Qué hacer:
- Accede al archivo
wp-config.phpmediante el administrador de archivos del panel o por FTP. - Compara cada valor con los reales que aparecen en la sección de bases de datos de tu panel de control.
- Comprueba que no haya espacios sobrantes ni comillas mal cerradas.
- Verifica el valor de
DB_HOST. En muchos hostings eslocalhost, pero algunos proveedores utilizan un servidor distinto, así que confírmalo en su documentación. - Si dudas de la contraseña, cámbiala desde el panel y actualiza el archivo con la nueva.
Recuerda que en muchos paneles el nombre de la base de datos y del usuario llevan un prefijo con el nombre de tu cuenta, por ejemplo cuenta_wp123. Es fácil omitirlo por error.

Causa 2: el usuario no tiene permisos sobre la base de datos
Puede ocurrir que el usuario exista y la contraseña sea correcta, pero que no esté asignado a esa base de datos o no tenga privilegios suficientes. Es habitual cuando se crea una base de datos nueva y se olvida vincular el usuario.
En el panel, ve a la sección de bases de datos MySQL y comprueba que el usuario está añadido a la base de datos con todos los privilegios necesarios. Si no lo está, añádelo y marca los permisos.
Causa 3: el servidor de base de datos está caído o saturado
Si los datos son correctos y aun así no conecta, el servicio MySQL o MariaDB puede estar detenido o sobrecargado. Esto puede deberse a:
- Mantenimiento o incidencia en el servidor del proveedor.
- Falta de memoria RAM, que provoca que el sistema cierre el proceso de base de datos.
- Demasiadas conexiones simultáneas, por un pico de tráfico, bots o ataques.
- Consultas muy pesadas que bloquean el servicio.
En hosting compartido, lo más práctico es revisar la página de estado de tu proveedor y contactar con soporte. En un VPS o servidor dedicado, puedes comprobar el estado del servicio con comandos como systemctl status mysql o systemctl status mariadb y reiniciarlo si es necesario, además de revisar los registros del servidor para saber por qué se detuvo.
Causa 4: límites de recursos superados
Los planes de hosting establecen límites de conexiones, procesos y consumo. Si tu web los supera, la base de datos puede rechazar conexiones, y verás errores del tipo «Too many connections» o «max_user_connections».
Para reducirlo:
- Activa una caché de página y de objetos, para que cada visita no genere consultas a la base de datos.
- Desactiva plugins pesados o mal optimizados.
- Bloquea bots y tráfico abusivo.
- Revisa si hay un pico de visitas inusual en las estadísticas.
- Valora ampliar el plan si tu web ha crecido por encima de lo contratado.
Causa 5: base de datos dañada
Una tabla corrupta puede impedir las consultas y provocar errores totales o parciales. Suele ocurrir tras un apagado inesperado del servidor, una falta de espacio en disco o un fallo durante una actualización.
En WordPress existe una función de reparación integrada. Para activarla, añade en wp-config.php esta línea:
php
define('WP_ALLOW_REPAIR', true);
Después visita tudominio.com/wp-admin/maint/repair.php y sigue las instrucciones. Cuando termines, elimina la línea, porque esa página es accesible sin iniciar sesión y supone un riesgo si queda activa.
También puedes reparar tablas desde phpMyAdmin: selecciona las tablas afectadas y elige la opción Reparar tabla en el desplegable inferior. Antes de cualquier reparación, haz una copia de seguridad, por si algo sale mal.

Causa 6: disco lleno o cuota agotada
Si el espacio en disco de tu cuenta o del servidor se agota, la base de datos no puede escribir nuevos datos y puede dejar de funcionar. Revisa el uso de disco en el panel y libera espacio eliminando copias antiguas, archivos temporales, registros de errores muy voluminosos o contenido que ya no uses.
Causa 7: cambios recientes en la web o el servidor
Si el error apareció justo después de una acción concreta, esa acción es sospechosa:
- Migración a otro hosting o servidor, donde los datos de conexión han cambiado.
- Cambio de versión de PHP, que puede ser incompatible con un plugin o con el método de conexión usado.
- Actualización de un plugin o tema que ha provocado un fallo.
- Restauración de una copia con credenciales antiguas.
- Cambio de contraseña del usuario de la base de datos.
Revierte el cambio si es posible, o corrige la configuración afectada.
Causa 8: problemas específicos de WordPress
En WordPress, además de lo anterior, conviene revisar:
- Las URL del sitio en la base de datos, en las opciones
siteurlyhome, si el error aparece tras cambiar de dominio. - El prefijo de las tablas en
wp-config.php($table_prefix), que debe coincidir con el real de la base de datos. - Plugins problemáticos: si puedes entrar al administrador, desactívalos en bloque; si no, renombra la carpeta
wp-content/pluginspor FTP para forzar su desactivación y comprobar si el error desaparece. - Archivos de WordPress corruptos, que pueden sustituirse subiendo de nuevo una copia limpia del núcleo, sin tocar
wp-contentniwp-config.php.
Lista de comprobación rápida
Sigue este orden para diagnosticar con eficacia:
- Anota el mensaje exacto del error.
- Comprueba si phpMyAdmin permite acceder a la base de datos.
- Verifica los datos de
wp-config.phpfrente a los del panel. - Confirma que el usuario tiene permisos sobre la base de datos.
- Revisa el estado del servidor y la página de incidencias del proveedor.
- Comprueba el uso de recursos y de disco.
- Intenta reparar las tablas si sospechas corrupción.
- Revisa cambios recientes: migración, plugins, versión de PHP.
- Si nada funciona, contacta con soporte.
Cuándo contactar con soporte
Si has comprobado lo anterior y el error persiste, escribe a tu proveedor con información clara: tu dominio, el mensaje exacto, desde cuándo ocurre, qué cambios hiciste antes y qué pruebas has realizado. Los técnicos pueden revisar los registros del servidor y detectar problemas que desde tu panel no ves, como servicios caídos o límites alcanzados.
Cómo prevenir este error
- Haz copias de seguridad automáticas de archivos y base de datos, y comprueba que se pueden restaurar.
- Activa la caché para reducir la carga sobre la base de datos.
- Mantén actualizados el CMS, los plugins y el tema, pero prueba los cambios importantes en un entorno de pruebas.
- Limpia y optimiza la base de datos periódicamente, eliminando revisiones antiguas y datos temporales.
- Vigila el consumo de recursos y el espacio en disco.
- Protege tu web frente a bots y ataques de fuerza bruta.
- Monitoriza la disponibilidad con una herramienta que te avise de inmediato si la web cae.
- Documenta los datos de conexión en un lugar seguro, para tenerlos a mano tras una migración.
Conclusión
El error de conexión con la base de datos suele asustar, pero normalmente tiene una causa concreta: credenciales incorrectas, permisos mal asignados, un servidor de base de datos saturado o caído, tablas dañadas o falta de recursos. Un diagnóstico ordenado, empezando por lo más sencillo, permite resolverlo en pocos minutos en la mayoría de los casos.
Lo esencial es trabajar con método, hacer copia de seguridad antes de modificar nada y no tocar cosas al azar. Y si el problema escapa a tu control, un buen soporte técnico y unas copias de seguridad fiables serán tus mejores aliados para recuperar la web con rapidez y sin pérdida de datos.