J'utilise MySQLi pour ma webapp mais chaque fois que je veux visiter une page en particulier, j'obtiens mysqli_connect() [function.mysqli-connect]: (42000/1203): User ***_user already has more than 'max_user_connections' active connections
.
J'ai déjà essayé de fermer toutes les connexions mais cela n'améliore pas la situation.
Existe-t-il un moyen de savoir exactement quelles connexions sont ouvertes à un moment donné ou toute autre donnée utile qui peut m'aider à résoudre ce problème?
BTW, j'utilise PHP 5.2.17 et MySQL 5.1.
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.
Supposons que l'utilisateur s'appelle 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
pour utiliser le paramètre global max_user_connections comme 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éfinissez la valeur dynamiquement
SET GLOBAL max_user_connections = 0;
Le redémarrage de MySQL n'est pas requis.
J'ai discuté de ce paramètre dans le passé
May 24, 2011
: Que sont les connexions utilisateur - quand sont-elles créées et détruites?Jun 16, 2011
: Serait-il judicieux de créer un utilisateur MySQL pour chaque compte utilisateur d'une application Web?Mar 22, 2012
: Comment puis-je limiter les connexions MySQL?Feb 22, 2013
: Mysql: Nombre maximum de connexions par utilisateur - Possible?