Get Hands-on with Amazon EKS - Workshop Event Series
Whether you're taking your first steps with Kubernetes or you're an experienced practitioner looking to sharpen your skills, our Amazon EKS workshop series delivers practical, real-world experience that moves you forward. Learn directly from AWS solutions architects and EKS specialists through hands-on sessions designed to build your confidence with Kubernetes. Register now and start building with Amazon EKS!
¿Por qué aparece el error "Too many connections error" cuando me conecto a mi instancia de Amazon Aurora MySQL?
Quiero conectarme a mi instancia de base de datos de la edición de Amazon Aurora compatible con MySQL, pero recibo el error "Too many connections". Quiero saber el valor máximo de conexiones de mi instancia de base de datos y cómo puedo cambiarlo.
Descripción corta
Cuando el número de conexiones de cliente supera el valor del parámetro max_connections en la instancia de base de datos, recibirás el mensaje de error "Too many connections".
Para resolver este problema, examina primero todas las consultas y subprocesos que están en ejecución en la instancia de base de datos. A continuación, activa el registro en la instancia de base de datos. Revisa las conexiones existentes y finaliza las conexiones no necesarias para reducir la presión de conexión. Además, ajusta los parámetros de conexión de MySQL. Si el problema persiste, aumenta el número máximo de conexiones a la instancia de base de datos.
Resolución
Examinar todas las consultas y subprocesos que están en ejecución en la instancia de base de datos
Examina todas las consultas que se están ejecutando en la instancia de base de datos. A continuación, comprueba el valor Threads_Connected para ver el número de conexiones que están abiertas. Para obtener más información, consulta Threads_connected en el sitio web de MySQL.
Para MySQL 5.7, ejecuta el siguiente comando:
mysql> SELECT variable_value AS Threads_Connected FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE variable_name='threads_connected';
Para MySQL 8.0, ejecuta el siguiente comando:
mysql> SELECT variable_value AS Threads_Connected from performance_schema.global_status where VARIABLE_NAME = 'threads_connected';
Nota: Como Aurora puede conectarse a la base de datos desde el usuario administrativo rdsadmin, el valor de threads_connected puede ser superior al valor de max_connections.
Se recomienda utilizar threads_connected o information_schema.processlist en lugar de DatabaseConnections. Los parámetros threads_connected e information_schema.processlist muestran las conexiones MySQL disponibles que utilizan otros clientes.
DatabaseConnections muestra el total de conexiones TCP remotas, pero no las conexiones inactivas ni las sesiones que el motor de base de datos crea para sus propios fines. Como resultado, el valor de DatabaseConnections puede ser inferior al número de operaciones que realizan los subprocesos de MySQL.
Activación del registro en la instancia de base de datos
Para identificar la causa principal del problema del aumento de las conexiones, activa el registro en la instancia de base de datos compatible con Aurora MySQL. Puedes activar los parámetros general_log, slow_query_log o los de registro de auditoría avanzada.
Finalización de las conexiones innecesarias en la instancia de base de datos
Usa los comandos rds_kill y rds_kill_query para finalizar las consultas y sesiones de usuario innecesarias que se están ejecutando en la instancia de base de datos.
Ajuste de los parámetros de conexión de MySQL
Ajusta los siguientes parámetros de conexión de MySQL para tu instancia de base de datos en función de tus valores preferidos:
- wait_timeout
- interactive_timeout
- net_read_timeout
- net_write_timeout
- max_execution_time
- max_connect_errors
- max_user_connections
Para obtener más información sobre cada uno de los parámetros anteriores, consulta Variables del sistema del servidor en el sitio web de MySQL.
Aumento de las conexiones máximas a la instancia de base de datos
Si el problema persiste después de ajustar los parámetros de conexión, aumenta el número máximo de conexiones a la instancia de base de datos. Para obtener el valor max_connections actual para tu instancia de base de datos, comprueba el grupo de parámetros adjunto a la instancia de base de datos. O bien ,ejecuta la siguiente consulta:
select @@max_connections;
Las instancias de base de datos compatibles de Aurora MySQL y Amazon Relational Database Service (Amazon RDS) para MySQL tienen distintas cantidades de sobrecarga de la memoria. El valor de max_connections puede ser distinto para instancias de base de datos compatibles de Aurora MySQL y Amazon RDS para MySQL que utilicen la misma clase de instancia.
Para determinar la cantidad máxima de conexiones para tu clase de instancia, usa la siguiente fórmula:
max_connections = GREATEST({log(17179869184/805306368)*45},{log(17179869184/8187281408)*1000})
Nota: El ejemplo anterior corresponde a una instancia db.r8g.large de Aurora compatible con MySQL con 16 GiB de memoria. La memoria DBInstanceClassMemory equivale a 17179869184 bytes. El valor actual de max_connections es 1000.
Ejemplo de resultado:
max_connections = GREATEST(195.56,1000) = 1000
Nota: La cantidad máxima de conexiones para esta clase de instancia db.r8g.large con 16 GiB de memoria es igual al valor predeterminado.
Aumento del parámetro max_connections
Nota: No se recomienda aumentar el parámetro max_connections más allá del valor predeterminado. En su lugar, escala la instancia de base de datos.
Si no escalas la instancia de base de datos y, en su lugar, decides aumentar el valor de max_connections, sigue los pasos siguientes:
- Crea un grupo de parámetros de instancias de base de datos personalizado.
- Asocia el grupo de parámetros con la instancia de base de datos.
- Aumenta el valor del parámetro max_connections.
Nota: No se produce una interrupción cuando se establece un valor max_connections mayor.
Escalamiento vertical de la instancia
Si superas el valor máximo del parámetro max_connections, se recomienda escalar la clase de la instancia de base de datos. Ten en cuenta que la instancia de base de datos puede sufrir interrupciones cuando se escala.
Uso de las prácticas recomendadas para ajustar el parámetro max_connections
Si has cambiado la configuración del grupo de búferes y de la caché de consultas de tu clúster de base de datos, ajusta la cuota de conexión para tener en cuenta el aumento o la disminución de la memoria disponible en las instancias de base de datos.
Establece el parámetro max_connections para que sea ligeramente superior al número máximo de conexiones que esperas abrir en cada instancia de base de datos.
Si has activado la información de rendimiento, el esquema de rendimiento se activa automáticamente. Se recomienda utilizar el valor max_connections predeterminado cuando se active el esquema de rendimiento. Las estructuras de memoria del esquema de rendimiento se ajustan automáticamente en función de las variables de configuración del servidor.
Importante: Información de rendimiento llegará al final de su ciclo de vida el 30 de junio de 2026. Puedes actualizar al modo avanzado de Database Insights antes del 30 de junio de 2026. Si no actualizas, los clústeres de bases de datos que utilizan Información de rendimiento adoptarán de forma predeterminada el modo estándar de Database Insights. Solo el modo avanzado de Database Insights admitirá los planes de ejecución y el análisis bajo demanda. Si los clústeres utilizan el modo estándar de forma predeterminada, es posible que no puedas usar estas características en la consola. Para activar el modo avanzado, consulta Activación del modo avanzado de Database Insights para Amazon RDS y Activación del modo avanzado de Database Insights para Amazon Aurora.
Uso de Amazon RDS Proxy
Si sigues recibiendo un error, utiliza Amazon RDS Proxy para Aurora para mejorar la capacidad de escalado de la aplicación.
Información relacionada
- Temas
- Database
- Etiquetas
- Aurora MySQL
- Idioma
- Español
Vídeos relacionados


Contenido relevante
- Respuesta aceptadapreguntada hace 7 meses
- preguntada hace un año
- preguntada hace un año
- preguntada hace 8 meses
OFICIAL DE AWSActualizada hace 5 meses