Qué hacer si te encuentras un error de base de datos en WordPress

Si trabajas con WordPress, seguro que en más de una ocasión te has encontrado con el mensaje “Error al establecer una conexión con la base de datos”, o en inglés “Error establishing a database connection”. Este error básicamente te deja la web inutilizada ya que hace que no se pueda acceder a ninguna sección, y puede darte más de un quebradero de cabeza.

En este artículo vas a ver por qué WordPress devuelve el mensaje “Error al establecer una conexión con la base de datos”, conocerás sus posibles causas, y aprenderás a solucionarlo en varios escenarios muy comunes. ¡Así que manos a la obra!

Índice del artículo
  • La base de datos de WordPress
  • 6 causas de que WordPress no pueda conectarse a su base de datos
  • ¿Cómo es tu error de conexión a base de datos?
  • Error tras migración o instalación
  • Error tras actualización
  • Error intermitente
  • Error continuo
  • Soluciona el problema de conexión a base de datos en cPanel
  • Soluciona el problema de conexión a base de datos en VestaCP
  • Conclusión



La base de datos de WordPress


Vale, WordPress no puede conectarse a su base de datos. ¿Pero esto qué significa? ¿Por qué este error te tumba la página entera, en vez de por ejemplo limitarse a un mensaje en la parte superior de la pantalla?

Para contestar estas preguntas es importante saber cómo funciona WordPress. Como con la mayoría de los CMS que hay ahí fuera, se puede hacer una primera división de la estructura interna de WordPress:

  • Por un lado están los ficheros, que contienen el esqueleto de la aplicación: la programación de la web, las hojas de estilos, los recursos multimedia, etc …

  • Y por otro está la base de datos, en la que se almacenan los contenidos dinámicos: los usuarios, el texto y la estructura de las entradas, los comentarios, etc.


Esta división está hecha por diseño, y no es objetivo de este artículo analizar la razón de que cada cosa se guarde en un sitio o en otro. Baste decir que tanto los ficheros como la base de datos de WordPress son imprescindibles para el funcionamiento de la web.

Y para que ambas mitades funcionen, tienen que estar conectadas. ¿Cómo? Bueno, WordPress guarda una serie de datos en su fichero wp-config.php que le permiten tener acceso a lo que hay en la base de datos.

captura_datosbd

Y aquí es precisamente donde puede surgir el problema.


6 causas de que WordPress no pueda conectarse a su base de datos


Ahora voy a describirte las seis causas más probables por las que WordPress da error al establecer una conexión con la base de datos, y las voy a enumerar para ir utilizándolas según sea necesario a lo largo del artículo.

Para conectarse con su base de datos Wordpress necesita que le digas cuatro parámetros:

  • Nombre de la base de datos


captura_nombrebd

  • Usuario de base de datos


captura_nombreubd

  • Contraseña del usuario de base de datos


captura_passubd

  • Servidor de base de datos al que conectarse


captura_host

Y como te puedes imaginar, con estos cuatro parámetros vienen las cuatro primeras causas por las que WordPress puede decirte que no puede abrir una conexión con la base de datos:

1. El nombre de la base de datos es incorrecto

2. El nombre de usuario de la base de datos está mal

3. La contraseña del usuario no es la adecuada

4. Hay algún problema en el nombre del servidor que tiene configurado

Las tres primeras están bastante claras, pero ¿y la cuarta? El servidor de bases de datos es la máquina en la que está alojada la base de datos de WordPress, y puede ser el mismo servidor en el que está WordPress ( localhost ) o un servidor externo. Casi siempre vas a estar en el primer caso, pero si tienes dudas contacta con tu empresa de hosting para que te lo aclaren.

Pero hay más: el usuario de la base de datos tiene que tener los permisos necesarios sobre dicha base de datos. Es decir, no llega con que el usuario exista y la base de datos también, además el usuario ha de poder acceder a ella; este es el origen del quinto motivo de que WordPress no pueda conectarse a su base de datos:

5. El usuario no tiene los permisos adecuados sobre la base de datos

Y por último existe la posibilidad de que todo esté bien, pero aún así WordPress siga mostrándote el mensaje de error. En este momento ya tendrías que sospechar de un problema mayor:

6. El servidor de bases de datos no responde

Esto no es bueno; en el mejor de los casos indica que el servidor está pasando por problemas temporales, y en el peor puede suponer la pérdida total de la información que había en la base de datos. ¡Pero no seas alarmista! Sigue leyendo, que seguro que no es nada.


¿Cómo es tu error de conexión a base de datos?


Antes de ver cómo solucionar el error de conexión a base de datos, te voy a dar algunas pautas para que puedas diagnosticar por dónde viene el problema, y así no inviertas esfuerzos en soluciones que no vayan a ningún lado.


Error tras migración o instalación


Si WordPress da error al establecer una conexión con la base de datos justo después de migrar la web a otro servidor, o de hacer una instalación nueva … casi seguro que te has saltado algún paso del proceso, o que has puesto algún dato mal. En este escenario las causas más probables son de la 1 a la 5.


Error tras actualización


¿Acabas de actualizar WordPress y de repente te dice que no puede conectarse a la base de datos? El proceso de actualización del core de WordPress no implica ningún cambio en el fichero wp-config.php, así que el principal sospechoso es la causa número 6.


Error intermitente


Si el error de conexión a la base de datos de WordPress viene y va cada pocos minutos, la causa ha de ser la número 6. Los datos de configuración del fichero wp-config.php no van a cambiar una y otra vez por arte de magia.


Error continuo


¿El error ha aparecido de buenas a primeras sin que seas consciente de haber hecho nada para provocarlo, y no se soluciona por mucho tiempo que pase? Esto no da demasiada información, así que las 6 causas que te he dicho son igual de plausibles.


Soluciona el problema de conexión a base de datos en cPanel


El panel de control cPanel tiene muchas herramientas que hacen bastante sencillo gestionar los problemas de conexión a base de datos si sabes utilizarlas.

Lo primero que debes revisar son las tres primeras posibilidades, ya que son las más comunes (¡y las más fáciles de solucionar!):

1. El nombre de la base de datos es incorrecto

2. El nombre de usuario de la base de datos está mal

3. La contraseña del usuario no es la adecuada

Para ello has de comparar los datos que tiene WordPress configurados y los datos reales de conexión a la base de datos. Antes de nada accede al gestor de archivos de cPanel:

captura_cpanel_filemanager_a

Luego navega por él hasta localizar el archivo wp-config.php de tu WordPress, y ábrelo:

captura_cpanel_filemanager_b

Dentro verás los datos que te interesan:

captura_cpanel_wpconfig

Perfecto, ya sabes qué datos usa WordPress para conectarse a la base de datos. ¡Ahora hay que compararlos con los reales! Dentro de cPanel vete a la herramienta “Bases de Datos de MySQL:

captura_cpanel_bbdd

Una vez dentro verás que tienes listadas tanto las  bases de datos como los usuarios. Fíjate en los nombres y compáralos con los que estás utilizando:

captura_cpanel_datos_bbdd

En caso de que alguno de los datos no coincida, modifícalo en el fichero wp-config.php de WordPress. Si necesitas cambiar la contraseña del usuario de MySQL, puedes hacerlo en cPanel abajo del todo:

captura_cpanel_cambiapassmysql

Ahora que has confirmado que la base de datos, el usuario y la contraseña están bien, ya puedes descartar los tres primeros motivos del error de conexión a base de datos. Vamos con el cuarto:

4. Hay algún problema en el nombre del servidor que tiene configurado

En la gran mayoría de los casos el nombre de servidor de bases de datos que usa WordPress es localhost que básicamente significa “este mismo servidor”; a menos que tu plan de hosting esté en alguna empresa muy específica, el nombre de servidor en un entorno cPanel siempre debería ser localhost (y los planes de hosting de Raiola no son una excepción). Pero si tienes dudas llama al servicio técnico de tu proveedor, ¡ellos podrán confirmártelo!

5. El usuario no tiene los permisos adecuados sobre la base de datos

Ahora que sabes que todos los datos configurados en WordPress son correctos, si el problema continúa llega el momento de hacer algunas comprobaciones en el servidor. Fíjate en que al lado de cada base de datos en cPanel aparecen uno o más usuarios; estos son los usuarios que tienen permisos sobre ella:

captura_cpanel_bds_usuarios

Aunque aparezca en la lista el usuario correcto, si has llegado a este punto lo mejor es que te asegures. En la parte de abajo tienes un par de selectores para dar permisos a un usuario sobre una base de datos:

captura_cpanel_grant

Elige la base de datos y el usuario que te interesen y haz click en “Agregar”, luego en “Todos los privilegios” y finalmente en “Hacer cambios”:

captura_cpanel_privilegios

6 - El servidor de bases de datos no responde

Aún no ha desaparecido el mensaje “Error al establecer una conexión con la base de datos” de tu WordPress? Entonces hay que empezar a meterse en cosas un poco más técnicas.

A partir de aquí ya depende del tipo de servidor con el que trabajes: si es un VPS o un servidor dedicado puedes conectarte a través de SSH y tratar de conectarte al servicio de MySQL para asegurarte de que está funcionando:

captura_acceso_ssh_mysql

Si fuera necesario, también podrías reiniciarlo:

captura_reinicio_mysql_ssh

O también puedes reparar la base de datos de WordPress a través de cPanel, por si alguna tabla estuviese corrupta:

captura_cpanel_repara_bd

Aquí realmente estoy dándote unas pautas para hacer pruebas a ciegas, ya que en este punto hacer un análisis completo nos llevaría mucho más de lo que ocupa este artículo. Si ves que nada funciona habla con el equipo de soporte técnico de tu proveedor, ¡ellos podrán ayudarte!


Soluciona el problema de conexión a base de datos en VestaCP


Aunque VestaCP es un panel más joven que cPanel, también pone a tu disposición una interfaz sencilla e intuitiva para trabajar con bases de datos. Usándola podrás solucionar el error de WordPress de “Error al establecer una conexión con la base de datos”.

Como con cPanel, empieza revisando las tres primeras posibles causas del error:

1. El nombre de la base de datos es incorrecto

2. El nombre de usuario de la base de datos está mal

3. La contraseña del usuario no es la adecuada

Por defecto VestaCP no dispone de un administrador de archivos como cPanel; pero tienes varias opciones para acceder a los ficheros de tu web y ver los contenidos de wp-config.php. Por ejemplo, si tienes uno de nuestros VPS Optimizados dispondrás de un administrador de archivos integrado en el panel; pero incluso si no fuese el caso, podrías conectarte a través de FTP con un programa como FileZilla, o usar SSH

Lo hagas como lo hagas, accede al contenido del fichero wp-config.php y revisa el nombre de la base de datos, el nombre del usuario de MySQL, y la contraseña que están configurados. Por ejemplo, por SSH verías algo como esto:

captura_vesta_wpconfig

Ahora hay que compararlos con los correctos. Dentro de VestaCP vete a la sección de bases de datos, y haz click en “Editar” para la base de datos que vayas a utilizar:

captura_vesta_datosbd

En esta pantalla puedes revisar a la vez que tanto el nombre de la base de datos como el usuario de MySQL que usas en WordPress sean correctos, así como cambiarle la contraseña al usuario si fuese necesario. Si ves que algún dato del fichero wp-config.php que no está correcto, ¡corrígelo!

4. Hay algún problema en el nombre del servidor que tiene configurado

Al igual que en cPanel, en un entorno VestaCP lo normal es que tanto la base de datos como la aplicación estén en el mismo servidor, por lo que el nombre correcto para el servidor de bases de datos sería “localhost”. Pero si crees que no es tu caso confirmalo con el equipo técnico de tu empresa de hosting, ¡ellos podrán orientarte!.

5. El usuario no tiene los permisos adecuados sobre la base de datos

¡En VestaCP no vas a encontrarte este problema! Este panel no te permite crear un usuario de MySQL sin asignarlo a una base de datos; esto es algo un poco menos flexible que en el caso de cPanel, pero también te quita quebraderos de cabeza como éste.

6. El servidor de bases de datos no responde

Si estás seguro de que todo lo demás está bien, te toca conectarse por SSH al servidor y hacer algunas pruebas para asegurarte de que todo está en orden.

Si tienes uno de nuestros  VPS Optimizados puedes conectarte directamente desde tu área de clientes utilizando la consola serial html5:

captura_consola_serial

Una vez dentro trata de entrar a mysql usando este comando: mysql

captura_conexion_mysql_ok

Si ves una respuesta como la de la captura anterior significa que el servidor está accesible. Pero si ves una respuesta como la siguiente:

captura_conexion_mysql_ko

significa que el servidor de bases de datos no está funcionando. ¡Por eso WordPress no puede conectarse a él!

Con un poco de suerte, reiniciarlo puede ser suficiente para que vuelva a funcionar con normalidad: service mysql restart

captura_reinicio_mysql_html5

O quizá la base de datos tenga alguna tabla corrupta. ¡Vamos a repararla!: mysqlcheck -r BASE_DE_DATOS

Si esto no soluciona el problema o si el servidor deja de funcionar cada cierto tiempo, ya habría que analizar el caso más a fondo. En este caso te recomiendo contactar con el equipo de soporte técnico de tu empresa de hosting para que le echen un vistazo a la situación.


Conclusión


Entrar a tu WordPress pensando que vas a poder trabajar con normalidad y encontrarte con un mensaje que dice “Error al establecer una conexión con la base de datos” es una pesadez, no hay duda.

Pero como has visto en este artículo, es un problema que tiene solución; simplemente sigue los pasos que te hemos indicado, y ¡tú mismo podrás corregirlo!

¿Alguna vez te has encontrado con este error? ¿Se te ocurre algún otro escenario en el que aparezca este error y que no hayamos tratado en el artículo? ¡Cuéntanoslo en los comentarios!
Daniel Rodríguez
Daniel Rodríguez

Daniel Rodríguez, ingeniero Técnico Informático y agente de soporte técnico en Raiola Networks. Con más de 8 años de experiencia en el sector.

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 Qué hacer si te encuentras un error de 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 *