Capítulo 18 · 18.6
'Error establishing a database connection'
El mensaje Error establishing a database connection (en español, Error al establecer una conexión con la base de datos) significa que su sitio web no puede acceder a la base de datos o no tiene permiso para iniciar sesión en ella. Sus archivos siguen ahí y, normalmente, su base de datos también. En nueve de cada diez casos, hay algún dato incorrecto en la información que su sitio web utiliza para iniciar sesión.
Causas, de más a menos frecuentes
1. Los datos del archivo de configuración no son correctos
Esto ocurre sobre todo después de una migración, una nueva instalación o un cambio de contraseña. Compruébelo así:
- Abra en DirectAdmin Base de Datos. Allí verá el nombre completo de su base de datos y los usuarios vinculados a ella (consulte Crear una base de datos y Usuarios, permisos y contraseñas de la base de datos).
- Abra en Administrador de archivos el archivo de configuración de su sitio web. En WordPress es wp-config.php, dentro de public_html.
- Compare los cuatro valores:
- DB_NAME: el nombre completo de la base de datos, con su nombre de usuario de DirectAdmin y un guion bajo delante, por ejemplo wtsilefl_shop.
- DB_USER: el nombre completo del usuario de la base de datos, también con ese prefijo.
- DB_PASSWORD: la contraseña de ese usuario de la base de datos. No es su contraseña de DirectAdmin.
- DB_HOST: localhost.
¿No está seguro de cuál es la contraseña? Asigne una nueva contraseña al usuario de la base de datos en DirectAdmin e introduzca exactamente esa misma contraseña en wp-config.php. Preste atención a las comillas y los espacios.
En otros sistemas, el archivo tiene otro nombre, por ejemplo configuration.php en Joomla, app/config/parameters.php en PrestaShop o .env en Laravel.
2. El usuario ya no está vinculado a la base de datos
Un usuario de base de datos debe tener permisos sobre la base de datos. Compruebe en Base de Datos si el usuario aparece junto a la base de datos correcta. Si no es así, vincúlelo de nuevo (consulte Usuarios, permisos y contraseñas de la base de datos).
3. La base de datos está vacía o no se ha importado
Si ha trasladado su sitio web, compruebe en phpMyAdmin si las tablas están realmente presentes (consulte Abrir y utilizar phpMyAdmin). Si no hay tablas, importe la base de datos de nuevo (consulte Importar una base de datos, también archivos grandes).
4. Tablas dañadas
¿Recibe el mensaje solo a veces, o WordPress indica que una o varias tablas no están disponibles? Compruebe y repare la base de datos (consulte Cómo comprobar, reparar y optimizar una base de datos).
5. Demasiadas conexiones
¿Ve en el registro de errores Too many connections o max_user_connections? Entonces su sitio está estableciendo demasiadas conexiones simultáneas con la base de datos, a menudo por un plugin con mucho tráfico o que funciona mal, o por bots. Consulte Mi sitio web va lento.
6. El almacenamiento está lleno
Un espacio en disco lleno también puede hacer que la base de datos falle. Compruébelo en el panel principal, en Espacio en disco (consulte Almacenamiento lleno: ¿dónde está ocupando espacio?).
7. Una incidencia
En muy pocas ocasiones, el problema está en el propio servidor de bases de datos. Consulte Incidencias y mantenimiento para ver si hay algo registrado.
Comprobar si los datos son correctos
Si puede ver las tablas en phpMyAdmin desde DirectAdmin, la base de datos existe y está presente. Si después sigue recibiendo el mensaje, casi con toda seguridad el problema está en el archivo de configuración de su sitio web.
Consejo: ¿Funcionaba ayer y no sabe qué ha cambiado? Con WebOké Backups en Mi WebOké puede colocar la base de datos de un momento anterior como copia junto a la actual, con un nombre nuevo. Así puede comparar sin ningún riesgo (consulte ¿Esto también se puede hacer en Mi WebOké? WebOké Backups).
