5 aniversario
5 aniversario

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

Autor: | 2019-01-02T13:51:12+00:00 Fecha: 19/12/2018|Categorías: WordPress|Comentarios: Ningún comentario

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!

 

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!

[Total: 8 Promedio: 5]
Daniel Rodríguez
Ingeniero Técnico Informático y agente de soporte técnico en Raiola Networks. Con más de 6 años de experiencia en el sector.

Utilizamos cookies propias y de terceros para obtener información estadística, mostrar publicidad personalizada a través del análisis de tu navegación, así como para interactuar en redes sociales. Si continúas navegando, consideramos que aceptas nuestra Política de cookies. ACEPTAR

Aviso de cookies