Cómo solucionar el error “Error al establecer una conexión con la base de datos” en WordPress

WordPress es un CMS cuya facilidad de uso atrae a usuarios tanto principiantes como expertos, no obstante, al igual que cualquier CMS o web desarrollada a medida, pueden reproducirse múltiples errores que dejen la web inoperativa o que nos supongan un dolor de cabeza.

Uno de esos es el error de conexión con la base de datos, para entenderlo un poco más, a grandes rasgos podemos decir que WordPress se compone, por un lado, de un conjunto de ficheros/directorios, y, por otro lado, de la base de datos; un WordPress no es 100% funcional si alguno de estos dos componentes falla, y tampoco si falla la conexión con la base de datos que es donde se almacena gran parte de la información.

En este artículo vamos a ver cuáles son las causas más comunes de este error y qué podemos hacer para solventarlo.


Índice del artículo
  • Configuración de conexión con la base de datos en WordPress
  • Configurar conexión en cPanel
  • Configurar conexión en RaiolaCP
  • Causas más habituales del error ‘Error de conexión con la base de datos’
  • Datos de conexión incorrectos
  • Usuario sin privilegios
  • Web infectada
  • Base de datos necesita reparación
  • El servidor de base de datos no está funcionando
  • Errores de recursos


Configuración de conexión con la base de datos en WordPress


Cuando instalamos WordPress por primera vez, necesitamos configurar una serie de parámetros que se almacenarán en el "wp-config.php" (archivo de configuración de WordPress), para que pueda conectarse con la base de datos correspondiente.

Estos parámetros serían los siguientes:

  • DB_NAME: nombre de la base de datos

  • DB_USER: usuario con privilegios asociado a la base de datos anteriormente configurada

  • DB_PASSWORD: contraseña del usuario de la base de datos

  • DB_HOST: servidor de base de datos


Si utilizas alguno de nuestros planes de hosting, el valor ‘localhost’ como servidor será válido por defecto.

Otro aspecto a tener en cuenta es también el prefijo que configuremos, aunque un error en la configuración del mismo puede no ocasionar un error de conexión con la base de datos, debemos revisar que estemos configurando el correcto (especialmente si utilizamos una misma base de datos para varias webs).

wp-config.php configuración por error de conexión con la base de datos

Configurar conexión en cPanel


En caso de que nuestro servidor utilice cPanel como panel de control, tendremos que configurar los datos en varios pasos:

  1. Crear la base de datos desde cPanel > Bases de datos > Manage My Databases.

  2. Crear un usuario de la base de datos desde cPanel > MySQL > Bases de datos.

  3. Asociar el usuario a la base de datos correspondiente. Crear la base de datos desde cPanel

  4. Darle privilegios a ese usuario. Administrar usuarios de la base de datos desde cPanel


Con esta información ya tendremos el nombre de la base de datos, el usuario y la contraseña y únicamente tendremos que configurarlos en el wp-config.php.

Configurar conexión en RaiolaCP


Si utilizas uno de nuestros VPS Optimizados, puedes configurar o revisar los datos de conexión con la base de datos desde el apartado ‘Base de datos’, identificándote con el usuario correspondiente.

Aquí tendrás que revisar que el nombre de la base de datos, usuario y contraseña sean correctos.
Ten en cuenta que el nombre del usuario de RaiolaCP, se añade automáticamente al nombre de la base de datos y también al del usuario, por lo que si lo introduces de nuevo al configurar el nombre o el usuario de la base de datos, se repetiría y puede llevar a confusión.

Una de las ventajas de RaiolaCP es que no es posible crear una base de datos desde el panel sin asociarle un usuario con los correspondientes privilegios.

Configurar conexión de base de datos en RaiolaCP

Causas más habituales del error ‘Error de conexión con la base de datos’


Al igual que la mayoría de errores que nos podemos encontrar al gestionar una página web, el error de conexión con la base de datos puede estar causado por diferentes motivos, por lo que a continuación vamos a ver las causas más habituales y cómo podemos solucionarlo como administradores de la página web.

Datos de conexión incorrectos


Si hemos realizado recientemente algún proceso que implique cambiar los datos de conexión, como puede ser una migración, es más probable que esta sea la causa.

Para solventarlo, podemos ir a nuestro panel de control y verificar el nombre de la base de datos y el usuario.

Si el nombre de la base de datos y del usuario son correctos, tendremos que verificar la contraseña, para ello podemos cambiarla y establecer una nueva que copiaremos y pegaremos en nuestro "wp-config.php".
Es importante tener en cuenta que, si cambiamos la contraseña de la base de datos y tenemos esa base de datos configurada en alguna otra aplicación o plataforma, necesitaremos reconfigurarla también en la misma.

También tendremos que revisar si el servidor configurado es correcto. En la mayoría de ocasiones establecer ‘localhost’ es válido, pero este parámetro puede variar dependiendo del servidor, por lo que, si con este no nos funciona, podemos confirmar con el soporte del alojamiento el correcto.

Usuario sin privilegios


Otro error habitual es crear la base de datos y el usuario, pero no asociarlos entre sí o hacerlo sin darle privilegios al usuario.

Si utilizamos RaiolaCP, como hemos visto anteriormente, esto no sería posible, pero en el caso de cPanel sí lo es.

¿Cómo podemos comprobar que el usuario tiene privilegios y está vinculado correctamente? Desde el apartado de "cPanel > Bases de datos > Manage My Databases", tendremos que revisar si a la derecha de la base de datos figura el usuario correcto. Si es así, es que está correctamente vinculado.

comprobar que el usuario tiene privilegios y está vinculado correctamente a la base de datos en cpanel

Para verificar que ese usuario disponga de los privilegios correspondientes, podemos hacer clic en el mismo y se nos abrirá una pantalla como la siguiente, donde podremos asociarle todos los privilegios en caso de que no disponga de ellos aún.

otorgar todos los privilegios de base de datos a un usuario en cPanel

Web infectada


En ocasiones, podemos encontrarnos con un error de la base de datos y cuando vamos a comprobar nuestro fichero wp-config.php, detectamos que los datos de conexión configurados ni siquiera son parecidos a los que deberíamos tener para nuestro actual hosting.

Si esto sucede, lo primero que debemos hacer es configurar nuestros datos de forma correcta y posteriormente revisar nuestra web para garantizar que no contenga malware o inyecciones SQL a mayores.

Base de datos necesita reparación


No es habitual, pero nuestra base de datos puede necesitar ser reparada. Esto puede ocurrir tras un proceso de migración, una actualización de la web que no ha finalizado de forma correcta al 100%, o incluso si alcanzamos el 100% de uso del espacio en disco de nuestro alojamiento, por ejemplo.

Para reparar la base de datos, configuraremos en el "wp-config.php" la siguiente línea:
define(‘WP_ALLOW_REPAIR’, true);

Luego, accedemos a la siguiente URL (cambiando el dominio por el nuestro): "http://pruebaswp.com/wp-admin/maint/repair.php" y ejecutamos la reparación de la base de datos.

Este proceso puede tardar más o menos dependiendo del tamaño de la misma. Es importante que no recarguemos la página hasta que finalice para evitar errores.

Reparar base de datos en WordPress

Una vez que haya finalizado, por cuestiones de seguridad, debemos eliminar la línea anteriormente configurada o cambiarla a "false".

El servidor de base de datos no está funcionando


Esta es menos habitual que los anteriores, pero también podría ser la causa del error de conexión con la base de datos.

La mayoría de alojamientos o sistemas ya cuentan con monitorizaciones que revisen el estado de los servicios, no obstante, en algunas ocasiones, pueden existir problemas de configuración, o incluso problemas en nuestra base de datos o alojamiento (por ejemplo, problemas de espacio en disco), que impidan el correcto funcionamiento de este.

En el caso de utilizar un VPS con RaiolaCP, puedes verificar el estado del servicio de base de datos desde "RaiolaCP > Servidor > mariadb".

verificar el estado del servicio de base de datos en VPS con Raiola CP

Errores de recursos


En caso de que estemos alcanzando el límite de recursos establecidos en nuestro plan de hosting, podemos experimentar el error de conexión con la base de datos. En la mayoría de ocasiones, si esta es la causa, el error será esporádico en vez de producirse de manera continuada y puede que nos permita acceder a la web en ocasiones y en otras recibamos el error de conexión.

Si este es nuestro caso, lo aconsejable en primer lugar es optimizar la instalación lo máximo posible, pero también debemos revisar otros aspectos como descartar una posible infección que aumente los consumos de la web, revisar el tráfico para confirmar que no estemos siendo víctimas de un ataque o bien, si estamos realizando alguna campaña, valorar una ampliación del servidor, ya que puede que necesitemos más recursos durante la misma debido al aumento de tráfico.
Mila Fernandez
Mila Fernandez

Formo parte del departamento de WordPress, apasionada de la lectura, tengo la habilidad de saberme diálogos de Harry Potter de memoria.

Artículos relacionados

Si te ha gustado este post, aquí tienes otros que pueden ser de tu interés. ¡No dejes de aprender!

Tenemos 15 comentarios en Cómo solucionar el error “Error al establecer una conexión con la base de datos” en WordPress

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Avatar del autor del comentario

LinKeR

19/01/2019 a las 05:42

buen artículo, como dato me ha pasado que al migrar, he tenido problemas con las exportación normal de la BD, para eso siempre hago respaldo normal y una con la opción
"Sistema de base de datos o versión antigua de servidor MySQL con la que maximizar la compatibilidad de la salida"
eligiendo: mysql40
solucionando el problema migración

saludos

Responder
Avatar del autor del comentario

Héctor Luaces

21/01/2019 a las 13:12

Hola, Linker:

bien hecho. Para referencia a futuros lectores: esa opción que ha marcado sirve para hacer que la exportación sea "en modo compatible con versiones viejas" y es útil cuando tienes que importar y exportar ficheros de bases de datos entre versiones diferentes de MySQL/MariaDB.

¡Un saludo y gracias por el aporte!

Responder
Avatar del autor del comentario

Jorge Mario López

20/11/2019 a las 02:00

Hola.
muy completo el artículo. Pero nada que encontraba la solución.
Al final me contacté con al empresa de hosting y me dijeron que cambiaron la IP del servidor, como el dominio del sitio web de mi cliente estaba en Godaddy, solo cambié la IP en el registro A de godaddy.

Aveces después de muchas horas de revisar y revisar, termina siendo lo simple.

Responder
Avatar del autor del comentario

Juan Martin Cabo

26/12/2019 a las 18:42

Hola Daniel. Tengo la web caída por el vendito error al establecer conexión. Pero desde Godaddy me dicen que es el por el peso de mi base de datos (Actualmente 1.5gb), como hago para reducirle el peso? Es todo de WP Options

Responder
Avatar del autor del comentario

Héctor Luaces

02/01/2020 a las 10:47

Hola, Juan:

eso suele pasar cuando algún plugin o tema guarda constantemente una opción con el mismo nombre (o nombre muy similar) para guardar metadatos.

Tendrías que ver qué opciones están repetidas en wp_options y borrar todas las filas de las opciones repetidas.

¡Haz una copia de seguridad antes!

Un saludo.

Responder
Avatar del autor del comentario

Paco Blanco

23/04/2020 a las 11:07
Mi caso es el típico de Jaimito… todo iba bien hasta que, sin pensarlo dos veces, decidí poner algunas cosas más "bonicas" y más seguras.
Menos mal que documenté cada paso, pero eso no evitó que se me quedara la boca abierta y la cara de tonto un buen rato.

Resulta que iba a actualizar mi instalación de wordpress y me preparé a realizar las copias de seguridad y no sé porqué me metí en las bases de datos. Cual fue mi sorpresa al descubrir que tenía bastantes bases de datos (cuando desarrollo webs, lo hago en mi hosting y luego migro al hosting definitivo. Algunas de ellas se podían tirar sin problema y otras tenía que descubrir a qué pertenecían.

Una vez aclarado y saneado el directorio, aún me vine más arriba y decidí meterme con los usuarios.
Y ahí fue cuando se "descojonó" todo, cuando se me quedó la boca abierta y la cara de…

Lo primero que hice fue volver a importar la base de datos que me había descargado, pero no resultó.
Supongo que porque no subí el wp-config anterior, claro.

En fin, solo quería deciros:
Muchas gracias por vuestro artículo!!

PD: He vuelto a cerrar la boca, y con una sonrisa… y eso se merece un buen comentario, o al menos, uno largo!
Responder
Avatar del autor del comentario

Alvaro Fontela

23/04/2020 a las 18:35
jajaja, muchas gracias por tu comentario Paco! De todo se aprende :)
Responder
Avatar del autor del comentario

Maximino Venegas

24/04/2020 a las 11:13
De mucha ayuda, muchas gracias.
Responder
Avatar del autor del comentario

Alvaro Fontela

27/04/2020 a las 15:35
Gracias a ti por leernos Maximino :)
Responder
Avatar del autor del comentario

Gabriel

13/05/2020 a las 16:36
Excelente explicación. Muy clara y comprensible para los que nos iniciamos. Si bien terminé solucionando el problema con el soporte del hosting, este artículo me sirvió de 10 para poder hacer el seguimiento y comprender la solución del mismo.
Responder
Avatar del autor del comentario

Andrea Barreiro

14/05/2020 a las 08:46
Nos alegra de que te haya servido, Gabriel, ¡para eso estamos!
Responder
Avatar del autor del comentario

González

17/10/2020 a las 06:43
Hola, fijate que a mí lo que me pasa es que reviso el archivo wp-config le agrego la base de datos correcta, tambien asigno desde cpanel y mysql el usuario a la base de datos con todos los privilegios y resulta que funciona perfectamente, pero a las 5 horas aproximadamente me vuelve a aparecer el error en la conexión con la base de datos, y me percato que el error sucede porque cuando entro a cpanel y a mysql me doy cuenta que la base de datos no tiene asignado usuario y se lo vuelvo a poner y funciona de nuevo correctamente, pero no se porque cada 5 horas automáticamente se borra el usuario con privilegios en la base de datos, tengo otros sitios web en el mismo hosting y cpanel pero eso no sucede con estos sitios, es únicamente con un sitio que borra el usuario.

ya repare la base de datos desde wordpress y desde cpanel y nada.

Te agradecería mucho si pudieras solventar esta duda.
Responder
Avatar del autor del comentario

Alvaro Fontela

20/10/2020 a las 17:54
Hola Gonzalez, si te elimina el usuario de MySQL y con eso te deja sin permisos, el problema es del servidor, no es del WordPress. Creo que deberías consultarlo con el hosting porque por una cosa o por otra, ahí hay algo raro.
Pero ya te garantizo que no es problema de WordPress.
Responder
Avatar del autor del comentario

dani

19/12/2020 a las 18:07
Muchas gracias por tu ayuda!! Claro y efectivo :-)
Responder
Avatar del autor del comentario

Andrea Barreiro

22/12/2020 a las 12:20
Qué bien que el post te haya sido útil, Dani. ¡Gracias a ti por comentar!
Responder

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *