L'option max_user_connections est une limite imposée, non pas sur le nombre total de connexions simultanées dans l'instance de serveur, mais sur le compte d'utilisateur individuel.
Disons que l'utilisateur est appelé db_user@localhost
. Vous pouvez savoir quelle est la limite de connexion de cet utilisateur en exécutant cette requête:
SELECT max_user_connections FROM mysql.user
WHERE user='db_user' AND host='localhost';
S'il s'agit d'une valeur différente de zéro, modifiez-la à nouveau avec:
GRANT USAGE ON *.* TO db_user@localhost WITH MAX_USER_CONNECTIONS 0;
ou
UPDATE mysql.user SET max_user_connections = 0
WHERE user='db_user' AND host='localhost';
FLUSH PRIVILEGES;
Cela entraînera mysqld
pour permettre à l'utilisateur db_user@localhost
d'utiliser le paramètre global max_user_connections comme sa limite.
Une fois arrivé à ce point, vérifiez maintenant le paramètre global à l'aide de
SHOW VARIABLES LIKE 'max_user_connections';
S'il s'agit d'une valeur différente de zéro, vous devez faire deux choses
CHOSE # 1 : Recherchez le paramètre dans/etc/my.cnf
[mysqld]
max_user_connections = <some number>
commenter cette ligne
CHOSE # 2 : définir la valeur dynamiquement
SET GLOBAL max_user_connections = 0;
Le redémarrage de MySQL n'est pas requis.
CAVEAT
J'ai discuté de ce paramètre dans le passé
Essaie !!!
RolandoMySQLDBA
la source