El «error al establecer una conexión con la base de datos» es probablemente uno de los errores más comunes que pueden encontrar los usuarios de WordPress. Está estrechamente relacionado con la pantalla blanca de la muerte (WSOD). Este error significa que tu sitio web ya no se comunica ni tiene acceso a tu base de datos de WordPress; por tanto, todo tu sitio web se cae.

Debes resolver este error inmediatamente, ya que puede afectar directamente a tus ventas, tráfico y analíticas.

Pero no te preocupes, hoy hablaremos de algunos escenarios comunes que causan este error y de algunas formas fáciles de hacer que tu sitio vuelva a funcionar en poco tiempo.

Mira Nuestro Videotutorial para Solucionar el «Error al Establecer una Conexión a la Base de Datos»

Así es como funciona: toda la información de tu sitio WordPress, como los datos de las entradas, los datos de las páginas, la metainformación, la configuración de los plugins, la información de inicio de sesión, etc. se almacena en tu base de datos MySQL. Los únicos datos que no se almacenan allí son los contenidos multimedia, como las imágenes, y tus archivos de tema/plugin/core, como index.php, wp-login.php, etc.

Cuando alguien visita tu sitio web, PHP ejecuta el código de la página, consulta la información de la base de datos y luego se la muestra al visitante en su navegador.

Si esto no funciona correctamente, te aparecerá el mensaje «error al establecer la conexión con la base de datos», como se ve a continuación. Toda la página está en blanco porque no se pueden recuperar los datos para mostrar la página, ya que la conexión no funciona correctamente. Esto no sólo rompe el frontend de tu sitio, sino que también te impedirá acceder a tu panel de control de WordPress.

El mensaje de Error al establecer una conexión con la base de datos en Chrome.
Mensaje «Error al establecer una conexión a la base de datos» en Chrome.

Sin embargo, es posible que los visitantes no vean este error en el frontend de inmediato. Esto se debe a que lo más probable es que tu sitio siga sirviendo desde la caché hasta que ésta caduque. Por ejemplo, en Kinsta, todos los sitios de WordPress se almacenan en caché durante una hora por defecto. Por lo tanto, si un sitio sigue sirviendo desde la caché, puede parecer aceptable para un visitante.

En Kinsta, nuestro equipo de soporte puede aumentar la duración de tu caché a, por ejemplo, una hora o incluso una semana si lo deseas. Si tienes un sitio que no cambia muy a menudo, esto puede aumentar el rendimiento de tu sitio, ya que no necesita tomar nuevos archivos tan a menudo después de que la caché expire. Y en casos como el anterior, el frontend del sitio en la mayoría de los casos (a no ser que tengas un script o parte de tu sitio que rompa la caché) se mantendría mucho más tiempo.

Cuando los visitantes intenten acceder a tu sitio mientras se produce este error, se generará un código de estado HTTP 500 en tus registros. Este mismo código de estado aparece con un «error interno del servidor» Significa que algo ha ido mal en el servidor, y el recurso solicitado no se ha entregado. Cuando todo funcione correctamente, tu sitio generará un código de estado HTTP 200, lo que significa que todo está bien.

Los clientes de Kinsta pueden revisar los registros de su sitio en el panel de control de MyKinsta:

"Error al establecer una conexión con la base de datos" Error 500 revelado en el access.log.
«Error al establecer una conexión con la base de datos» Error 500 revelado en el access.log.

Si eres cliente de Kinsta, también puedes mirar el informe de desglose de errores 500 en las analíticas de MyKinsta para ver si es algo que ha sido un problema recurrente.

Desglose del error 500.
Desglose del error 500.

¿Qué causa el «Error Establishing a Database Connection» (Error al Establecer una Conexión a la Base de Datos)?

¿Por qué ocurre esto exactamente? Pues bien, a continuación se exponen algunas de las razones más comunes. Y no te preocupes, vamos a profundizar en cada una de ellas para que sepas cómo solucionarlas. Normalmente puedes resolver este error en menos de 15 minutos.

Credenciales de acceso a la base de datos incorrectas

Tu sitio WordPress utiliza información de inicio de sesión distinta para conectarse a su base de datos MySQL.

Base de Datos Corrupta

Con tantas partes móviles con temas, plugins y usuarios borrándolos e instalándolos constantemente, a veces las bases de datos se corrompen. Esto se puede deber a que falta una tabla o a que se ha corrompido individualmente, o quizás se ha borrado alguna información por accidente.

Archivos Corruptos en Tu Instalación de WordPress

Incluso a veces puede ocurrir debido a hackers.

Problemas con Tu Servidor de Base de Datos

Hay varias cosas que pueden ir mal por parte del proveedor de alojamiento web, como la sobrecarga de la base de datos por un pico de tráfico o la falta de respuesta por demasiadas conexiones simultáneas. Esto es habitual en los servidores compartidos, ya que utilizan los mismos recursos para muchos usuarios en los mismos servidores.

Picos de Tráfico

Dependiendo del alojamiento web que utilices, tu servidor puede ser incapaz de gestionar muchas conexiones simultáneas a la base de datos. Un aumento del tráfico puede provocar problemas temporales con la base de datos.

¿Cómo solucionar el «Error al Establecer una Conexión a la Base de Datos»?

Antes de solucionar el error, te recomendamos que hagas una copia de seguridad del sitio de WordPress. Muchas de las recomendaciones que aparecen a continuación implican la manipulación de información en tu base de datos, por lo que no querrás empeorar las cosas. Siempre debes hacer una copia de seguridad antes de intentar arreglar cosas en tu sitio de WordPress, independientemente de lo experto que te creas en tecnología.

Puedes utilizar un popular plugin de copia de seguridad de WordPress, como VaultPress o WP Time Capsule, para hacer una copia de seguridad de tus archivos y de tu base de datos.

Si eres usuario de Kinsta, puedes aprovechar nuestra función de copia de seguridad integrada. Haz clic en tu sitio WordPress en MyKinsta y selecciona Copias de Seguridad. A continuación, haz clic en la pestaña Manual y pulsa el botón Hacer copia de seguridad ahora para crear una copia de seguridad manualmente.

Crear una Copia de Seguridad de WordPress en MyKinsta.
Crear una Copia de Seguridad de WordPress en MyKinsta.

A continuación, también tienes la opción de restaurar una copia de seguridad en producción o en staging. O puedes hacer una copia de seguridad manual de tu base de datos MySQL utilizando phpMyAdmin. Una vez que tengas una copia de seguridad correcta, es el momento de solucionar los problemas de conexión a la base de datos.

1. Comprueba tus Claves de Acceso a la Base de Datos

Lo primero que debes hacer es comprobar que tus claves de acceso a la base de datos son correctas. Esta es, con mucho, la razón más común por la que aparece el mensaje «error al establecer la conexión con la base de datos». Especialmente después de que la gente migre a un nuevo proveedor de alojamiento. Los datos de conexión de tu sitio de WordPress se almacenan en el archivo wp-config.php, que generalmente se encuentra en el root de tu sitio de WordPress.

Contiene cuatro datos importantes que deben ser correctos para que la conexión se produzca con éxito.

Nombre de la Base de Datos

// MySQL settings

// The name of the database for WordPress 
define('DB_NAME', 'xxxxxx');

Nombre de Usuario de la Base de Datos MySQL

// MySQL database username 
define('DB_USER', 'xxxxxx');

Contraseña de la Base de Datos MySQL

// MySQL database password 
define('DB_PASSWORD', 'xxxxxxxxx');

Nombre de Host de MySQL (servidor)

// MySQL hostname 
define('DB_HOST', 'localhost');

Para acceder a tu archivo wp-config.php, puedes conectarte a tu sitio a través de SFTP y navegar hasta el root de tu sitio. O, si utilizas cPanel, puedes hacer clic en «Administrador de archivos», navegar hasta el root de tu sitio y hacer clic con el botón derecho para editar el archivo.

Screenshot: Location of the File Manager icon in cPanel.

Aquí tienes un ejemplo de cómo se ve el archivo cuando se abre.

credenciales wp-config.php
Credenciales wp-config.php.

Ahora tienes que cotejar tus valores actuales con los de tu servidor para asegurarte de que son correctos. Sigue las siguientes instrucciones para los usuarios de cPanel y Kinsta.

Comprobar las Claves de la Base de Datos en cPanel

Lo primero que debes comprobar es el nombre de la base de datos. Para ello, debes entrar en phpMyAdmin en cPanel, en la sección Bases de datos.

El icono phpMyAdmin en cPanel.
El icono phpMyAdmin en cPanel.

Deberías ver el nombre de tu base de datos en la parte inferior izquierda. Puedes ignorar la base de datos «information_schema», ya que es algo que utiliza el host. A continuación, deberás comparar ese nombre con el valor DB_NAME de tu archivo wp-config.php. Si coinciden, entonces este no es el problema. Si no coinciden, tienes que actualizar tu archivo wp-config.php.

Localizando el nombre de la base de datos en phpMyAdmin.
Localizando el nombre de la base de datos en phpMyAdmin.

También puedes comprobar que se trata de la base de datos correcta asegurándote de que contiene la URL de tu sitio WordPress. Para ello, haz clic en la base de datos y luego en la tabla wp_options (puede ser ligeramente diferente por motivos de seguridad, como wpxx_options). En la parte superior de la tabla, verás los valores de la URL y el nombre de tu sitio. Si éstos coinciden con tu sitio actual, puedes estar seguro de que estás en el lugar correcto.

Comprobar la URL del sitio en phpMyAdmin
Comprobar la URL del sitio en phpMyAdmin.

Si el nombre de tu base de datos ya era correcto y sigues recibiendo el mensaje «error al establecer una conexión con la base de datos», también deberás comprobar tu nombre de usuario y contraseña. Para ello, tendrás que crear un nuevo archivo PHP en el directorio root de tu sitio WordPress e introducir el siguiente código. Puedes llamarlo como quieras, por ejemplo checkdb.php. Cambia los valores de db_user y db_password por los de tu archivo wp-config.php.

<?php

$test = mysqli_connect('localhost', 'db_user', 'db_password');
if (!$test) {
    die('MySQL Error: ' . mysqli_error());
}
echo 'Database connection is working properly!';
mysqli_close($testConnection);

A continuación, explora el archivo en tu sitio de WordPress: https://yourdomain.com/checkdb.php. Si obtienes un «Error de MySQL: Acceso denegado», entonces sabes que tu nombre de usuario o tu contraseña son incorrectos, y tendrás que continuar con el siguiente paso para restablecer tus credenciales.

Acceso denegado a MySQL
Acceso denegado a MySQL.

A continuación aparece el mensaje que quieres ver: «La conexión a la base de datos funciona correctamente» Pero, por supuesto, si así fuera, no estarías aquí. Asegúrate de borrar/eliminar este archivo cuando hayas terminado de hacer las pruebas.

La conexión a la base de datos funciona correctamente
La conexión a la base de datos funciona correctamente.

A continuación, tienes que restablecer tu nombre de usuario y contraseña. En cPanel, haz clic en Bases de datos MySQL en la sección Bases de datos.

cPanel Bases de datos MySQL
cPanel Bases de datos MySQL.

Desplázate hacia abajo y crea un nuevo usuario de MySQL. Intenta elegir un nombre de usuario y una contraseña únicos para que no puedan ser fácilmente adivinados. La herramienta generadora de contraseñas que proporcionan funciona muy bien. Luego haz clic en «Crear usuario» También puedes cambiar la contraseña en esta pantalla para el usuario actual de la base de datos.

Crear un nuevo usuario de MySQL en cPanel
Crear un nuevo usuario de MySQL.

A continuación, desplázate hacia abajo y añade tu nuevo usuario a la base de datos. La siguiente pantalla te preguntará qué privilegios quieres asignar. Selecciona «Todos los privilegios».

Añadir usuario a la base de datos en cPanel
Añadir usuario a la base de datos en cPanel.

A continuación, toma esas nuevas claves y actualiza tu archivo wp-config.php. Querrás actualizar los valores DB_USER y DB_PASSWORD. También puedes volver a ejecutar el archivo de prueba de antes. Esto debería resolver tu problema de credenciales. Si no es así, todavía podrías tener el nombre de host (DB_HOST) equivocado. Algunos hosts utilizan valores diferentes.

Consulta la lista de algunos valores comunes de host de la base de datos. Lo normal es que sea localhost. Pero siempre puedes contactar con tu proveedor de alojamiento o consultar su documentación si no estás seguro. Algunos también pueden utilizar 127.0.0.1 en lugar de localhost.

Si has seguido todo lo anterior y sigues recibiendo el mensaje «error al establecer una conexión a la base de datos», pasa a los siguientes pasos de solución de problemas.

Comprobar las Claves de la Base de Datos con Kinsta

Si eres usuario de Kinsta, ¡comprobar tus credenciales con tu archivo wp-config.php y con el servidor es mucho más fácil! Sólo tienes que hacer clic en la sección Información de tu sitio dentro del panel de control de MyKinsta y, en la parte inferior, verás el nombre de la base de datos, el nombre de usuario y la contraseña. Por defecto, Kinsta utiliza localhost para el DB_HOST.

Comprobando las credenciales de la base de datos en MyKinsta.
Comprobando las credenciales de la base de datos en MyKinsta.

A continuación, toma esas nuevas credenciales y actualiza tu archivo wp-config.php. Querrás actualizar los valores DB_USER y DB_PASSWORD. Esto debería resolver tu problema de credenciales. Si necesitas restablecer estas claves, ponte en contacto con nuestro equipo de soporte. Si has seguido todo lo anterior y sigues recibiendo el mensaje «error al establecer una conexión a la base de datos», procede a los siguientes pasos de solución de problemas.

2. Reparar Base de Datos de WordPress Corrupta

En algunos casos, puede ser que tu base de datos se haya corrompido. Esto puede ocurrir ocasionalmente (aunque no muy a menudo) ya que, con el tiempo, cientos de tablas son añadidas/eliminadas constantemente por nuevos plugins y temas. Si intentas acceder al panel de control de tu sitio de WordPress y recibes el siguiente error, significa que tu base de datos está corrupta: «Una o más tablas de la base de datos no están disponibles. La base de datos puede necesitar ser reparada» Es importante tener en cuenta que es posible que sólo veas este error en el back-end, mientras que en el front-end verás el mensaje «error al establecer la conexión con la base de datos».

WordPress tiene un modo de reparación de la base de datos que puedes iniciar. Añade lo siguiente al final de tu archivo wp-config.php.

define('WP_ALLOW_REPAIR', true);
Actualmente en modo de reparación de WordPress
Modo de reparación de WordPress.

A continuación, ve a la siguiente ubicación en tu sitio de WordPress: https://yourdomain.com/wp-admin/maint/repair.php. Entonces tendrás la opción de reparar la base de datos o reparar y optimizar la base de datos. Dado que probablemente estés solucionando un problema en tu sitio ahora, te recomendamos que utilices la opción de reparar la base de datos, ya que es más rápida.

Reparar y optimizar la base de datos en WordPress
WordPress reparar base de datos.

Después de ejecutar la reparación de la base de datos anterior, asegúrate de eliminar la línea de código que has añadido a tu archivo wp-config.php. De lo contrario, cualquiera podrá acceder a la página repair.php. Si estás ejecutando cPanel, también puedes ejecutar una reparación desde la pantalla de bases de datos MySQL.

Opción de reparar la base de datos en cPanel
cPanel reparar base de datos.

También puedes ejecutar una reparación desde phpMyAdmin. Simplemente entra en phpMyAdmin, haz clic en tu base de datos y selecciona todas las tablas. Luego, en el desplegable, haz clic en «Reparar tabla» Esto es básicamente ejecutar el comando REPAIR TABLE.

Reparar tablas en phpMyAdmin
Reparar tablas en phpMyAdmin

Y por último, tu otra opción sería ejecutar la reparación mediante WP-CLI con el siguiente comando:

wp db repair

Consulta más documentación sobre su uso en los recursos para desarrolladores de WordPress.

Si quieres optimizar tu base de datos, tenemos algunos tutoriales muy buenos sobre cómo optimizar las revisiones de WordPress para mejorar el rendimiento, junto con cómo convertir tus tablas MyISAM a InnoDB. Si sigues teniendo problemas en tu sitio, pasa al siguiente paso de solución de problemas.

Lectura recomendada: Cómo solucionar el error «El servidor MySQL se ha ido» en WordPress.

3. Reparar Archivos de WordPress Corruptos

La siguiente razón posible por la que puedes ver el mensaje «error al establecer la conexión con la base de datos» es que tus archivos principales de WordPress se han corrompido. Tanto si esto se ha originado por un problema de transferencia de archivos vía FTP, como si un hacker ha accedido a tu sitio o un problema con tu proveedor de alojamiento, puedes solucionarlo rápidamente. Sin embargo, te recomendamos que hagas una copia de seguridad de tu sitio antes de intentarlo.

Vas a sustituir la versión principal de WordPress en tu sitio. No vas a tocar tus plugins, temas o medios, sólo la propia instalación de WordPress.

Sin embargo, puedes perder cualquier cambio o código personalizado que hayas añadido a archivos como .htaccess o wp-config.php. Si hiciste una copia de seguridad de tu sitio web antes de solucionar el problema, tendrás copias de esos archivos que podrás restaurar más tarde.

Para empezar, debes descargar una copia nueva de WordPress desde WordPress.org.

Página de descarga de WordPress
Descargar WordPress.

Descomprime este archivo en tu ordenador. Dentro, querrás eliminar la carpeta wp-content y el archivo wp-config-sample.php.

Descomprimir el archivo descargado en el ordenador
Eliminar la carpeta wp-content.

A continuación, sube los archivos restantes por SFTP a tu sitio, sobrescribiendo los archivos existentes. Esto reemplazará todos los archivos problemáticos y se asegurará de que tengas unos nuevos limpios y no corruptos. Se recomienda borrar la caché de tu navegador después de hacer esto. A continuación, comprueba tu sitio de WordPress para ver si el error sigue existiendo.

4. Comprobar si hay Problemas con Tu Servidor de Base de Datos

Si nada de lo anterior te ha ayudado a resolver el problema, te recomendamos que consultes con tu proveedor de alojamiento, ya que podría tratarse de un problema con el servidor de la base de datos. Por ejemplo, si hay demasiadas conexiones simultáneas a tu base de datos, podría generarse un error. Esto se debe a que muchos servidores limitan el número de conexiones permitidas a la vez. Utilizar un plugin de caché puede ayudar a minimizar las interacciones con la base de datos en tu sitio. Si eres cliente de Kinsta, no necesitas plugins de almacenamiento en caché, ya que tenemos un rápido almacenamiento en caché a nivel de servidor.

Este problema puede ocurrir mucho en los alojamientos compartidos, ya que en teoría otra persona podría estar afectando a tu sitio. Esto se debe a que los alojamientos compartidos utilizan todos los mismos recursos en los servidores. Esta es otra razón por la que recomendamos utilizar un alojamiento de WordPress gestionado de alto rendimiento, para que las cosas no estén saturadas. También significa que el entorno suele estar ajustado para manejar grandes cantidades de tráfico, específicamente a los sitios de WordPress.

El experto equipo de soporte de Kinsta está siempre a un clic de distancia en la parte inferior derecha del panel de control y está disponible las 24 horas del día si necesitas ayuda. Y no olvides que tenemos especialistas para ayudarte en varios idiomas, incluyendo inglés, español, francés, italiano y portugués.

Enviar un mensaje al Soporte en MyKinsta.
Enviar un mensaje al Soporte en MyKinsta.

5. Restaurar la Última Copia de Seguridad

Y por último, pero no menos importante, siempre puedes recurrir a una copia de seguridad si es necesario. En algunos casos, esta puede ser una forma más rápida de resolver el problema si no te preocupa la posibilidad de perder datos desde que se hizo la última copia de seguridad. Muchos alojamientos tienen su propio proceso de restauración de copias de seguridad. Recuerda que puedes necesitar restaurar tanto tu base de datos como tus archivos.

Si eres usuario de Kinsta, puedes restaurar una copia de seguridad de tu sitio rápidamente dentro de la sección Copias de seguridad de tu sitio. Elige el momento en que quieres restaurar y haz clic en Restaurar a. Luego puedes seleccionar si quieres restaurar a Staging o a tu sitio En Producción.

Restaurar una copia de seguridad de WordPress en MyKinsta.
Restaurar una copia de seguridad de WordPress en MyKinsta.

A continuación, se te pedirá que confirmes la restauración. Introduce el nombre de tu sitio y haz clic en «Aceptar» También crea una copia de seguridad en el momento de la restauración para que puedas deshacerla si es necesario.

Confirmar la restauración de WordPress
Confirmar la restauración de WordPress.

Resumen

Como puedes ver, hay bastantes formas de solucionar el «error al establecer una conexión a la base de datos» en WordPress. La más común es que las credenciales no sean válidas en el archivo wp-config.php. Comprobar que son correctas es el mejor punto de partida. Lo último que quieres para un sitio web es experimentar un tiempo de inactividad.

Esperemos que alguno de los pasos anteriores te haya ayudado a recuperar tu sitio. Recuerda que siempre puedes restaurar tu sitio desde una copia de seguridad si es necesario.

¿Has experimentado el mensaje «error al establecer la conexión con la base de datos» en tu sitio? Si es así, ¿pudiste resolverlo? Háznoslo saber en los comentarios.

Salman Ravoof

Salman Ravoof es desarrollador web autodidacta, escritor, creador y un gran admirador del Software Libre y de Código Abierto (FOSS, Free and Open Source Software). Además de la tecnología, le apasionan la ciencia, la filosofía, la fotografía, las artes, los gatos y la comida. Obtén más información sobre él en su sitio web, y conecta con Salman en X.