De los errores más comunes que puede encontrar con WordPress, un error al establecer una conexión a la base de datos es uno de los más frustrantes.
Cuando nos enfrentamos a un problema de este tipo, entendemos que resolver este mensaje de error y restaurar el funcionamiento normal del sitio es una prioridad absoluta, y estaremos encantados de guiarle a través del proceso.
Tabla de contenido
¿Por qué estoy viendo? Error al establecer una conexión de base de datos?
Un error al establecer una conexión a la base de datos significa que su sitio no puede recuperar los datos del backend de MySQL.
Tal situación da como resultado que todo el sitio web esté fuera de línea y no disponible, incluido el panel de administración backend de wp-admin.
Existen bastantes causas potenciales del mensaje Error al establecer una conexión a la base de datos.
Sin embargo, antes de discutir las posibles causas, es útil saber un poco sobre los antecedentes de la plataforma WordPress para ver qué hace que este mensaje de error aparezca en primer lugar.
WordPress tiene dos componentes principales; uno a nivel del sistema de archivos y otro a nivel de base de datos. Cada uno tiene diferentes funciones que se combinan para formar la plataforma WordPress.
Archivos
WordPress almacena todo el código PHP utilizado por el núcleo de WordPress en el nivel del sistema de archivos, junto con temas, plugins, archivos multimedia cargados y algunas variables de configuración.
Es posible ver datos a nivel del sistema de archivos utilizando un navegador web para acceder a cPanel o un cliente FTP, como FileZilla.
Base de datos
WordPress almacena todos los datos de personalización en el nivel de la base de datos. Eso significa que la base de datos contiene todas las publicaciones, páginas, comentarios, configuraciones de temas y plugins del sitio, y mucho más.
Ver los datos MySQL sin procesar solo es posible usando PHPMyAdmin, descargando un volcado de SQL o usando el cliente MySQL de línea de comandos a través de SSH.
Entonces el Error de conexión a la base de datos indica que algo está interfiriendo con el acceso de WordPress a la base de datos. Dado que WordPress no puede recuperar los detalles necesarios del backend de MySQL, no puede cargar la página solicitada en su navegador.
¿Por qué veo el Error de conexión a la base de datos ¿Solo en algunas de las páginas o en wp-admin?
Si tiene configurado un plugin de almacenamiento en caché, es posible que observe que algunas páginas en el front-end aún se cargan como se esperaba. Esto sucede a menudo incluso con el error de conexión a la base de datos.
Con el almacenamiento en caché de reescritura adecuado habilitado, la interfaz de WordPress son archivos estáticos pregenerados. Por lo tanto, puede notar que la interfaz todavía está «funcionando» aunque el backend de wp-admin no esté disponible.
Estas páginas aún se cargan porque el plugin de almacenamiento en caché convierte las páginas en archivos estáticos pregenerados. Cuando un visitante solicita una página previamente almacenada en caché, los resultados se obtienen desde la caché estática y el sitio web no los genera en tiempo real.
Por tanto, no requieren una conexión MySQL.
El almacenamiento en caché también mejora significativamente el rendimiento general de su sitio web y reduce el consumo de recursos. Esto se debe a que una parte importante del tráfico se sirve directamente desde los archivos almacenados en caché.
En otras palabras, el almacenamiento en caché hace exactamente lo que se supone que debe hacer.
Causas principales del «Error al establecer una conexión a la base de datos»
- Detalles incorrectos de MySQL
- WordPress utiliza la información de la base de datos MySQL, el nombre de usuario y la contraseña desde el archivo wp-config.php en el directorio local de WordPress.
- La información de este archivo distingue entre mayúsculas y minúsculas y debe coincidir con las credenciales de la base de datos MySQL proporcionadas por su proveedor de alojamiento.
- El prefijo de la tabla de WordPress debe coincidir con los de su base de datos MySQL.
- El usuario de MySQL debe estar asignado a la base de datos y tener los permisos de MySQL adecuados.
- Base de datos MySQL corrupta
- Si determinadas tablas de MySQL están corruptas, WordPress mostrará un error ya que no puede cargar información crítica del sitio desde MySQL.
- La causa más común de este problema es una actualización parcial o fallida del núcleo, tema o plugin de WordPress.
- La tabla wp_options es la que se corrompe con mayor frecuencia.
- El host MySQL no está disponible
- Si se muestra un error de conexión pero se resuelve solo sin necesidad de realizar ninguna otra acción, es posible que el servidor MySQL backend estuviera temporalmente fuera de línea.
- El sitio ha alcanzado el límite de conexión MySQL
- Hay un límite en la cantidad de conexiones MySQL permitidas tanto por usuario como globalmente para el servidor.
- Altos niveles de tráfico
- Grandes cantidades de tráfico, especialmente si el sitio no está bien optimizado, pueden abrumar los recursos disponibles.
- Si el sitio se queda sin recursos disponibles, pueden producirse errores intermitentes.
- Archivos de WordPress corruptos
- Aunque el problema se refiere a la base de datos, WordPress puede estar dañado a nivel del sistema de archivos.
- La corrupción de WordPress suele ser el resultado de una actualización fallida del núcleo de WordPress o de una actualización automática de un tema y/o plugin.
Antes de sumergirse en la depuración paso a paso, lo primero que debe hacer es comunicarse con el proveedor de alojamiento web para confirmar que no se trata de un problema del lado del servidor.
Comuníquese con su proveedor de alojamiento web
El equipo de soporte del proveedor podrá informarle sobre cualquier interrupción reciente en su servicio.
Una vez que esté en contacto con el equipo de soporte del proveedor, pídales que verifiquen que el servicio MySQL esté funcionando normalmente y si su cuenta está experimentando algún pico en el uso de recursos o en el tráfico de visitantes que pueda explicar el problema.
Una vez que esté seguro de que no hay ningún problema con la cuenta de alojamiento o el servidor web, puede iniciar la depuración paso a paso o pedirle ayuda a su proveedor.
Vuelva a verificar la información de MySQL
Dado que los detalles de MySQL no válidos son una de las causas más comunes de este problema, verificar wp-config.php debería ser lo primero en la lista.
El archivo local wp-config.php contiene todas las configuraciones requeridas por WordPress para acceder a la base de datos MySQL, incluida la base de datos MySQL, el nombre de usuario, la contraseña, el prefijo de la tabla y varias otras opciones.
Una discrepancia entre las credenciales configuradas en MySQL y las del wp-config.php local resultará en un error de conexión.
Abra el Administrador de archivos de cPanel o su cliente FTP favorito y navegue hasta el directorio de WordPress. Luego, abra el archivo wp-config.php en un editor.
Localice los valores para DATABASE_NAME, DB_USER y DB_PASSWORD, ya que los necesitamos para compararlos en cPanel.
Una vez que tenga abierto el archivo wp-config.php y haya localizado los valores anteriores, navegue hasta la página de Bases de datos MySQL en su cPanel. En esa página habrá una lista de bases de datos y usuarios de bases de datos.
Confirme que el nombre de la base de datos y el usuario de wp-config.php coincidan con los que figuran en la página de bases de datos MySQL de cPanel.
No podemos ver la contraseña existente, pero podemos restablecerla para usar la de wp-config.php haciendo clic en «Cambiar contraseña» junto al usuario de la base de datos en la página de bases de datos MySQL en cPanel.
Restablecer la contraseña garantiza que la contraseña en wp-config.php coincida con la contraseña en el backend de MySQL para ese usuario.
Reparar la base de datos MySQL
Ahora que podemos estar seguros de que la información de MySQL que figura en wp-config.php es correcta, podemos intentar reparar la base de datos.
La base de datos MySQL backend de WordPress contiene muchas tablas con datos de configuración del sitio. Algunas de estas tablas, como wp_options, son fundamentales para el sitio. El sitio no podrá cargarse si estas tablas están rotas o corruptas.
Para comprobar estas tablas, podemos utilizar la herramienta MySQL Repair en cPanel.
Acceda a la página de Bases de datos MySQL.
Seleccione la base de datos que figura en wp-config.php para WordPress en el cuadro desplegable Reparar base de datos. Esto se encuentra en la sección «Modificar bases de datos».
Haga clic en el botón «Reparar base de datos» para iniciar el proceso.
El proceso de reparación se ejecuta después de que cada tabla se verifica individualmente. Las bases de datos grandes pueden tardar unos minutos en finalizar la reparación de MySQL.
La reparación no dañará las tablas «buenas» ya que la herramienta sólo intentará reparar las tablas marcadas.
Reemplace los archivos principales de WordPress
Es posible que falten o estén dañados los archivos necesarios para que WordPress se conecte a la base de datos backend de MySQL.
En la mayoría de los casos, los archivos se dañan debido a una actualización parcial o incompleta de los archivos principales de WordPress. La buena noticia es que podemos actualizar los archivos principales de WordPress sin perder los datos ni las personalizaciones de su sitio web.
CLI de WP
La forma más sencilla de hacerlo es utilizar el kit de herramientas WP CLI a través de SSH o la herramienta cPanel Terminal.
Navegue hasta el directorio de WordPress (es decir, public_html).
Luego, use la herramienta WP CLI para volver a descargar solo los archivos principales de WordPress, reemplazando los archivos existentes dañados o faltantes:
wp core download --force --skip-content
Archivo de WordPress
Si no se siente cómodo usando la Terminal cPanel o el acceso SSH, puede reemplazar los archivos principales de WordPress cargando una copia nueva de WordPress a través de FTP.
Visite la página de descarga de WordPress y obtenga la última versión del archivo de WordPress: https://wordpress.org/download/#download-install
Una vez que haya descargado la última copia de WordPress localmente, extraiga los archivos de WordPress a su PC local y navegue hasta esta carpeta en su explorador de archivos.
Elimine el directorio wp-content recién extraído, ya que no queremos sobrescribir nuestro directorio wp-content existente.
Abra el cliente FTP y navegue hasta su directorio de WordPress (es decir, public_html). Una vez que esté en el directorio de WordPress en el servidor web, puede cargar los archivos desde la carpeta de WordPress recién extraída de su PC local (la que no tiene la carpeta wp-content).
Haga clic en Sí cuando se le solicite sobrescribir los archivos o carpetas existentes.
La carga FTP puede tardar algún tiempo ya que hay una gran cantidad de archivos pequeños que componen el núcleo de WordPress.
Restaurar una copia de seguridad
Si todo lo demás falla, puede restaurar una copia de seguridad del sitio afectado, ya que una copia de seguridad completa contiene los archivos del sitio y una copia de la base de datos MySQL.
Si no tiene una copia de seguridad del sitio web, puede intentar comunicarse con su proveedor de alojamiento web. Pregunte si tienen una copia, ya que la mayoría de los proveedores realizan copias de seguridad automáticas de los datos de los clientes.
A veces, es necesario un poco de resolución de problemas
Desafortunadamente, como ocurre con muchos otros problemas en Internet, solucionar el problema del error al establecer la conexión a la base de datos requiere un poco de trabajo de detective. Eso es porque no todas las situaciones son iguales.
Es poco común tener una respuesta única para todos. Sin embargo, solucionar muchos problemas no es tan difícil de realizar usted mismo.
Aun así, no hay nada de malo en pedir ayuda si no sabes exactamente lo que estás haciendo. Es fácil causar daños adicionales si no estás seguro.