J'ai besoin d'une requête qui me donnera le nombre de connexions actives ou ouvertes à une certaine base de données pour un certain utilisateur. Je cherche depuis des heures et je n'ai rien trouvé pour l'instant. Je suis proche, voici donc ce que j'ai essayé.
SHOW STATUS WHERE `variable_name` = 'Threads_connected';
SHOW STATUS LIKE '%onn%';
SELECT * FROM information_schema.processlist WHERE USER='database_user';
Je travaille pour une société d'hébergement Web et l'un de nos clients continue de frapper son max_user_connections
limit, donc dans le dépannage pourquoi j'ai besoin de savoir combien de connexions son utilisateur utilise en ce moment car il n'est pas un serveur partagé. J'utilise actuellement MySQL (InnoDB) version 5.5.36. Toute aide serait grandement appréciée!
Ce dont vous avez besoin est une ventilation par utilisateur et nom d'hôte ainsi qu'un total
SELECT IFNULL(usr,'All Users') user,IFNULL(hst,'All Hosts') Host,COUNT(1) Connections
FROM
(
SELECT user usr,LEFT(Host,LOCATE(':',Host) - 1) hst
FROM information_schema.processlist
WHERE user NOT IN ('system user','root')
) A GROUP BY usr,hst WITH ROLLUP;
Cela gérera l'adresse de l'hôte qui a deux points séparant le nom d'hôte et le numéro de port
J'espère que tout le monde ne se connecte pas en tant que root