¿Cómo deshacerse del error "conexiones de usuario máximas"?


16

Estoy usando MySQLi para mi aplicación web, pero cada vez que quiero visitar alguna página en particular, obtengo mysqli_connect() [function.mysqli-connect]: (42000/1203): User ***_user already has more than 'max_user_connections' active connections.

Ya intenté cerrar todas las conexiones, pero esto no mejora la situación.

¿Hay alguna manera de saber exactamente qué conexiones están abiertas en cualquier momento en particular o cualquier otra información útil que pueda ayudarme a resolver este problema?

Por cierto, estoy usando PHP 5.2.17 y MySQL 5.1.

Respuestas:


24

La opción max_user_connections es un límite impuesto, no en el número total de conexiones simultáneas en la instancia del servidor, sino en la cuenta de usuario individual.

Digamos que se llama al usuario db_user@localhost. Puede averiguar cuál es el límite de conexión de este usuario ejecutando esta consulta:

SELECT max_user_connections FROM mysql.user
WHERE user='db_user' AND host='localhost';

Si este es un valor distinto de cero, cámbielo de nuevo con:

GRANT USAGE ON *.* TO db_user@localhost WITH MAX_USER_CONNECTIONS 0;

o

UPDATE mysql.user SET max_user_connections = 0
WHERE user='db_user' AND host='localhost';
FLUSH PRIVILEGES;

Esto hará mysqldque el usuario db_user@localhostpueda usar la configuración global max_user_ connections como su límite.

Una vez que llegue a este punto, ahora verifique la configuración global usando

SHOW VARIABLES LIKE 'max_user_connections';

Si este es un valor distinto de cero, debe hacer dos cosas

COSA # 1 : Busque la configuración en/etc/my.cnf

[mysqld]
max_user_connections = <some number>

comentar esa línea

COSA # 2 : Establezca el valor dinámicamente

SET GLOBAL max_user_connections = 0;

No se requiere reiniciar MySQL.

CONSIDERACIÓN

He discutido esta configuración en el pasado

Darle una oportunidad !!!

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.