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!
[elementor-template id="80835"]
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.
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
- Contraseña del usuario de base de datos
- Servidor de base de datos al que conectarse
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:
Luego navega por él hasta localizar el archivo
wp-config.php de tu WordPress, y ábrelo:
Dentro verás los datos que te interesan:
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”:
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:
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:
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:
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:
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”:
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:
Si fuera necesario, también podrías
reiniciarlo:
O también puedes
reparar la base de datos de WordPress a través de cPanel, por si alguna
tabla estuviese
corrupta:
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:
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:
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:
Una vez dentro trata de
entrar a mysql usando este comando: mysql
Si ves una respuesta como la de la captura anterior significa que el servidor está accesible. Pero si ves una respuesta como la siguiente:
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
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!
LinKeR
19/01/2019 a las 05:42buen 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 a LinKeR
Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *