Cómo corregir el error al establecer una conexión de base de datos en WordPress

Si has estado navegando por la web durante un tiempo, al menos has visto este error unas cuantas veces. El error de establecer una conexión a la base de datos es una de esas maldiciones que pueden ser causadas por muchas razones. Como principiante de WordPress, esto podría ser terriblemente frustrante, especialmente cuando sucede por sí solo sin que usted cambie nada. Ayer nos topamos con este problema en nuestro propio sitio. Se necesitaron poco más de 20 minutos para detectar y solucionar el problema. Mientras investigábamos para encontrar posibles causas, nos dimos cuenta de que no había un buen artículo que lo cubriera todo. En este artículo, le mostraremos cómo corregir el error de establecer una conexión de base de datos en WordPress mediante la compilación de una lista de soluciones en un solo lugar.

Nota: Antes de hacer cualquier cambio en la base de datos, asegúrese de tener suficientes copias de seguridad.

¿Por qué se produce este error?

Bueno, en resumen, estás obteniendo este error porque WordPress no puede establecer una conexión de base de datos. Ahora la razón por la que WordPress no puede establecer una conexión de base de datos puede variar. Puede ser que sus credenciales de acceso a la base de datos estén equivocadas o hayan sido cambiadas. Puede ser que su servidor de base de datos no responda. Puede ser que su base de datos haya sido corrompida. En nuestra experiencia, la mayoría de las veces este error ocurre debido a algún tipo de error del servidor, sin embargo, podría haber otros factores también. Echemos un vistazo a cómo solucionar este problema.

Video Tutorial

Suscribirse a AprenderWP

Si no te gusta el video o necesitas más instrucciones, entonces continúa leyendo.

¿Ocurre el problema para /wp-admin/ también?

Lo primero que debe hacer es asegurarse de que está obteniendo 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 a la base de datos", continúe con el siguiente paso. Si está obteniendo un error diferente en el wp-admin por ejemplo algo como "Una o más tablas de base de datos no están disponibles. La base de datos puede necesitar ser reparada", entonces usted necesita reparar su base de datos.

Puede hacerlo añadiendo la siguiente línea en su archivo wp-config.php. Añádelo justo antes 'Eso es todo, ¡deja de editar! Happy blogging' línea wp-config.php.

1define('WP_ALLOW_REPAIR', true);

Una vez hecho esto, puede ver los ajustes visitando esta página: http://www.yoursite.com/wp-admin/maint/repair.php

Recuerde, el usuario no necesita estar conectado para acceder a esta funcionalidad cuando esta definida. 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. Así que 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 si tiene problemas para ejecutar la reparación, continúe leyendo este artículo ya que es posible que encuentre otra solución.

Comprobación del archivo WP-Config

WP-Config.php es probablemente el archivo más importante de toda la instalación de WordPress. Aquí es donde usted especifica los detalles para que WordPress conecte su base de datos. Si ha cambiado su contraseña de root, o la contraseña de usuario de la base de datos, también tendrá que cambiar este archivo. Lo primero que debe comprobar siempre es si todo en su archivo wp-config.php es igual.

1234define('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, SiteGround, es localhost. Puede encontrar otros valores de host aquí.

Algunas personas sugirieron que arreglaran su problema sustituyendo el host local por el IP. Es común ver este tipo de problemas cuando se ejecuta WordPress en un entorno de servidor local. Por ejemplo, en MAMP, el valor DB_Host cuando se cambia a IP puede parecer que funciona.

1define('DB_HOST', '127.0.0.1.1:8889');

Los IP's variarán para los servicios de alojamiento web en línea.

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

Compruebe su servidor web (MySQL Server)

A menudo se dará cuenta de este error al establecer la conexión de la base de datos cuando su sitio se vea asediado por mucho tráfico. Básicamente, su servidor anfitrión no puede manejar la carga (especialmente cuando usted está en hosting compartido). Su sitio se volverá muy lento y para algunos usuarios incluso producirá el error. Así que lo mejor que debe hacer es ponerse en contacto por teléfono o en livechat con su proveedor de alojamiento y preguntarle si su servidor MySQL responde.

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 están teniendo el problema. Si ellos también están obteniendo el mismo error, entonces 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 necesitamos verificar si el usuario de su base de datos tiene suficiente permiso. Cree un nuevo archivo llamado testconnection.php y pegue el siguiente código en él:

12345678

Asegúrese de reemplazar el nombre de usuario y la contraseña. Si el script se conectó correctamente, significa que su usuario tiene suficiente permiso, y que hay algo más que está mal. Vuelva a su archivo wp-config para asegurarse de que todo está correcto (vuelva a escanear en busca de errores tipográficos).

Si no puede conectarse a la base de datos yendo a phpMyAdmin, entonces sabe que es algo con su servidor. Esto no significa necesariamente que su servidor MySQL esté caído. Puede significar que su usuario no tiene suficiente permiso.

En nuestro caso, nuestro servidor MySQL estaba funcionando. Todos los demás sitios en los servidores funcionaban bien, excepto AprenderWP. Cuando intentamos ir a nuestro phpMyAdmin, terminamos obteniendo el error:

#1045 - Acceso denegado para el usuario 'foo'@'%' (utilizando contraseña: SI)

Nos pusimos al teléfono con HostGator y su soporte rápidamente encontró el problema. De alguna manera los permisos de nuestros usuarios fueron restablecidos. No estoy seguro de cómo sucedió, pero aparentemente esa fue la razón. Volvieron a entrar y restauraron los permisos y pudimos recuperar el sitio en vivo.

Así que si obtiene el error de acceso denegado ya sea al conectarse a su phpMyAdmin o a través de los resultados de testconnection.php, entonces debe ponerse en contacto con su host de inmediato para que lo arregle.

Soluciones que funcionaron para otros

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

Deepak Mittal dijo que su cliente estaba obteniendo 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 era la url del sitio. Aparentemente eso fue cambiado lo que causó que el error persistiera. Ejecutó la consulta SQL yendo a phpMyAdmin:

1UPDATE wp_options SET option_value='YOUR_SITE_URL'WHERE option_name='siteurl''.

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

Esto pareció arreglar el problema para él y para algunos otros que también comentaron en su mensaje.

Sachinum sugirió que podía conectar la base de datos con testconnection.php, así que cambió el usuario wp-config.php por el usuario root. WordPress empezó a funcionar perfectamente. Luego volvió a revertir la configuración al usuario de la base de datos, y siguió funcionando. No pudo averiguar qué era lo que estaba mal, 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 de opciones de wp y editaron el contenido de recently_edited. Básicamente, eso parecía solucionar el problema. Por favor, su respuesta completa aquí.

Leímos en numerosas fuentes que los usuarios simplemente subieron una nueva copia de WordPress y arreglaron el error.

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir