Error intermitente pero problemático - "Error al establecer conexión con la base de datos"
Sé que probablemente has visto a muchos miembros aquí quejándose del siguiente error:
Error al establecer conexión con la base de datos
Esto significa que la información de usuario y contraseña en tu archivo wp-config.php es incorrecta o no podemos contactar al servidor de base de datos en myamazingsite.com:3306. Podría significar que el servidor de base de datos de tu hosting está caído.
Te prometo que no he cometido los siguientes dos errores/pecados mortales:
- Mis
DB_NAME
,DB_USER
,DB_PASSWORD
,DB_HOST
,DB_CHARSET
, yDB_COLLATE
son correctos con las credenciales adecuadas. - Mis
WP_HOME
yWP_SITEURL
están comentados en el archivo de configuración, pero mis entradas en la BD respecto al nombre de dominio (enwp_options
,wp_blogs
, etc.) coinciden con el nombre de dominio enrutado a mi servidor. Todos incluyen el protocolo (https://
) según sea requerido - sí enwp_options
, no enwp_blogs
, como ejemplo.
Entonces, no es un problema de credenciales. Además, lo sé porque es intermitente - ocurre aproximadamente una vez cada 10 solicitudes a mi WordPress, solo probándolo yo mismo. Pero les está pasando a mis clientes mientras navegan el sitio ocasionalmente, y obviamente eso no es aceptable.
He leído en otros lugares que esto significa que es un problema de carga del servidor, porque ocurre solo ocasionalmente. Pero no lo creo, al menos no en este caso. Toda mi utilización de recursos tanto en el servidor de aplicaciones como en el servidor de BD es muy baja. El tráfico también es bastante bajo, no más de 3 solicitudes concurrentes por segundo.
¿Entonces tal vez era un problema de red? No. Hice ping al servidor de BD desde el servidor de aplicaciones más de 100 veces seguidas usando nping
y el ping nunca falló con un 100% de éxito en esa prueba. Además, otras aplicaciones en el servidor (no WordPress) no tienen problemas para conectarse al mismo servidor de BD.
¿Entonces qué podría ser? Me he quedado sin ideas. Debe ser otro error/truco específico de WordPress que desconozco. ¡Por favor ayúdame!

Investigaría los problemas de conexión a la base de datos. Hay un número específico de conexiones a la base de datos permitidas - un ajuste en la configuración de la base de datos (no recuerdo cuál) - y si hay demasiadas conexiones, la siguiente conexión fallará.
Contacta con tu proveedor de alojamiento y pídeles que aumenten el número de conexiones permitidas a la base de datos. Es un ajuste que ellos tienen que hacer, al menos en mi proveedor de alojamiento; yo no tenía acceso a los archivos de configuración de la base de datos.
Puede que te sugieran actualizar a un servidor dedicado, en lugar de un servidor compartido - eso resolvió un problema similar para mí, aunque nunca pensé que el sitio tuviera tanto tráfico como para necesitar un servidor dedicado.
Sin embargo, mi problema similar (creo) fue muy difícil de diagnosticar, así que quizás el "necesitas un servidor dedicado" fue solo una estrategia de venta.

¡Gracias por tu respuesta! Pero no, no creo que sea eso. No son muchas conexiones. Estoy usando AWS y no creo que limiten así como lo hacen algunos hosts más administrados: todas las métricas de utilización están bajas. A menudo, si actualizo de inmediato, el error desaparece antes de volver a aparecer. La mayor acción que ha tenido mi base de datos fue en la prueba de ping, que arrojó un 100% de éxito.

¡Hablé demasiado pronto! Hay un límite: 312 conexiones concurrentes para mi base de datos. Sin embargo, nunca ha tenido ni cerca de esa cantidad de conexiones simultáneas.

Todavía podrías estar alcanzando el límite de conexiones concurrentes. Una solicitud de página puede tener varias solicitudes de conexión, dependiendo de cómo estén construidos el tema y los plugins. El lugar de hosting debería poder monitorear/ver tu conteo de conexiones concurrentes durante un período de tiempo. Quizás eso te dé alguna información. Fue difícil para mí diagnosticar ese error en uno de mis sitios.
