Si ha estado navegando por la web por un tiempo, al menos ha visto este error varias veces. Error al establecer una conexión de base de datos es una de esas maldiciones que podría ser causada por muchas razones. Como principiante de WordPress, esto podría ser terriblemente frustrante, especialmente cuando sucedió solo sin que usted cambie nada. Nos encontramos con este problema ayer en nuestro propio sitio. Tomó un poco más de 20 minutos detectar y solucionar el problema. Mientras hacíamos la investigación para encontrar posibles causas, nos dimos cuenta de que no había un buen artículo que cubriera todo. En este artículo, le mostraremos cómo solucionar el error al establecer una conexión de base de datos en WordPress compilando una lista de soluciones, todo en un solo lugar.

Nota: Antes de realizar cambios en la base de datos, asegúrese de tener suficientes copias de seguridad.

¿Por qué obtienes este error?

En resumen, está recibiendo este error porque WordPress no puede establecer una conexión de base de datos. Ahora la razón por la cual WordPress no puede establecer una conexión de base de datos puede variar. Puede ser que las credenciales de inicio de sesión de su base de datos estén equivocadas o hayan sido modificadas. Podría ser que su servidor de base de datos no responda. Podría ser que tu base de datos se haya dañado. En nuestra experiencia, la mayoría de las veces este error ocurre debido a algún tipo de error del servidor, sin embargo, también podría haber otros factores. Veamos cómo solucionar este problema.

¿El problema ocurre para / wp-admin / también?

Lo primero que debe hacer es asegurarse de obtener el mismo error tanto en el front-end del sitio como en el back-end del sitio (wp-admin). Si el mensaje de error es el mismo en ambas páginas «Error al establecer una conexión de base de datos», prosiga con el siguiente paso. Si obtiene un error diferente en el administrador de wp, por ejemplo, algo así como «Una o más tablas de la base de datos no están disponibles». Es posible que deba repararse la base de datos «, luego debe reparar su base de datos.

Puede hacer esto agregando la siguiente línea en su archivo wp-config.php. Añadirlo justo antes ‘Eso es todo, deja de editar! Happy blogging ‘ línea wp-config.php.

define ('WP_ALLOW_REPAIR', true); 

Una vez que haya hecho eso, puede ver la configuración visitando esta página: http://www.yoursite.com/wp-admin/maint/repair.php

Reparar la base de datos en WordPress

Recuerde, el usuario no necesita iniciar sesión para acceder a esta funcionalidad cuando se establece esta definición. Esto se debe a que su intención principal es reparar una base de datos dañada, los usuarios a menudo no pueden iniciar sesión cuando la base de datos está dañada. Una vez que haya terminado de reparar y optimizar su base de datos, asegúrese de eliminar esto de su wp-config.php.

Si esta reparación no solucionó el problema, o tiene problemas para ejecutar la reparación, continúe leyendo este artículo ya que puede encontrar otra solución para trabajar.

Comprobando el archivo de configuración de WP

WP-Config.php es probablemente el archivo más importante en toda su instalación de WordPress. Aquí es donde especifica los detalles para que WordPress conecte su base de datos. Si cambiaste tu contraseña de usuario raíz o la contraseña de usuario de la base de datos, entonces necesitarás cambiar también este archivo. Lo primero que siempre debe verificar es si todo en su archivo wp-config.php es el mismo.

define ('DB_NAME', 'database-name');
 define ('DB_USER', 'database-username');
 define ('DB_PASSWORD', 'database-password');
 define ('DB_HOST', 'localhost'); 

Recuerde que su valor DB_Host puede no ser siempre localhost. Dependiendo del host, será diferente. Para hosts populares como HostGator, BlueHost, Site5, es localhost. Puede encontrar otros valores de host aquí.

Algunas personas sugirieron que corrigieron su problema reemplazando localhost con el IP. Es común ver este tipo de problema al ejecutar WordPress en un entorno de servidor local. Por ejemplo, en MAMP, el valor DB_Host cuando se cambia a la IP puede parecer que funciona.

define ('DB_HOST', '127.0.0.1:8889'); 

IP variará para los servicios de alojamiento web en línea.

Si todo en este archivo es correcto (asegúrese de comprobar los errores ortográficos), entonces es justo decir que hay algo mal en el extremo del servidor.

Compruebe su servidor web (servidor MySQL)

A menudo notará este error al establecer una conexión de base de datos cuando su sitio se llena de mucho tráfico. Básicamente, su servidor host simplemente no puede manejar la carga (especialmente cuando está en un servidor compartido). Su sitio será muy lento y para algunos usuarios incluso generará el error. Entonces, lo mejor que debe hacer es ponerse en contacto por teléfono o en vivo con su proveedor de alojamiento y preguntarle si su servidor MySQL es receptivo.

Para aquellos usuarios que quieran probar si el servidor MySQL se está ejecutando usted mismo, puede hacer algunas cosas. Pruebe otros sitios en el mismo servidor para ver si tienen el problema. Si también reciben el mismo error, definitivamente hay algo mal con su servidor MySQL. Si no tiene ningún otro sitio en esta misma cuenta de alojamiento, simplemente vaya a su cPanel e intente acceder a phpMyAdmin y conectar la base de datos. Si puede conectarse, entonces debemos verificar si su usuario de base de datos tiene suficiente permiso. Crea un nuevo archivo llamado testconnection.php y pegue el siguiente código en él:


Asegúrese de reemplazar el nombre de usuario y la contraseña. Si se conectó con éxito, significa que su usuario tiene suficiente permiso, y hay algo más que está mal. Regrese a su archivo wp-config para asegurarse de que todo esté correcto (vuelva a analizar los errores tipográficos).

Si no puede conectarse a la base de datos accediendo a phpMyAdmin, entonces sabrá que es algo con su servidor. No necesariamente significa que su servidor MySQL está caído. Podría significar que su usuario no tiene suficiente permiso.

sitio

# 1045 – Acceso denegado para el usuario ‘foo’ @ ‘%’ (usando la contraseña: SÍ)

Hablamos por teléfono con HostGator y su apoyo encontró rápidamente el problema. De alguna manera, los permisos de nuestros usuarios se restablecieron. No estoy seguro de cómo sucedió eso, pero aparentemente ese fue el motivo. Volvieron y restauraron los permisos y pudimos recuperar el sitio.

Por lo tanto, si obtiene el error de acceso denegado al conectarse a su phpMyAdmin oa través de los resultados de testconnection.php, debe comunicarse con su host de inmediato para que lo solucionen.

Soluciones que funcionaron para otros

Es importante tener en cuenta que estos pueden no funcionar para usted. Utilice bajo su propio riesgo y asegúrese de tener suficientes copias de seguridad si algo sale mal.

Deepak Mittal dijo que su cliente estaba recibiendo el error de que la base de datos necesita ser reparada. Incluso después de reparar la base de datos, el error no desapareció. Intentó varias cosas y al final, el problema fue la URL del sitio. Aparentemente eso fue cambiado lo que causó que el error persistiera. Ejecutó la consulta SQL yendo a phpMyAdmin:

ACTUALIZACIÓN wp_options SET option_value = 'YOUR_SITE_URL' WHERE option_name = 'siteurl' 

Asegúrese de reemplazar YOUR_SITE_URL con el ejemplo de url real: http://www.site.com. Las wp_options serán diferentes si ha cambiado el prefijo predeterminado de la base de datos de WordPress.

Esto pareció solucionar el problema para él y para algunos otros que también comentaron su publicación.

Sachinum sugirió que podía conectar la base de datos con testconnection.php, por lo que cambió el usuario de wp-config.php por el usuario raíz. WordPress comenzó a funcionar perfectamente bien. Luego revertió la configuración al usuario de la base de datos, y continuó funcionando. No pudo descifrar cuál era el problema, pero llegó a la conclusión de que se trataba de un error tipográfico.

Cutewonders sugirió que eliminaran el contenido de active_plugins en la tabla wp_options y editaran el contenido de recent_edited. Básicamente, eso pareció solucionar el problema. Por favor, su respuesta completa aquí.

Leemos en numerosas fuentes que los usuarios simplemente cargaron una copia nueva de WordPress y corrigió el error.

Este es un error realmente frustrante. ¿Qué has intentado que pareció funcionar para ti? Estaremos encantados de ampliar este recurso, para que otros no tengan que perder tanto tiempo buscando una solución.