Nombre de connexion active sur un serveur MySQL

Bonjour,

J’ai un serveur MySQL que je souhaiterais superviser (histoire de faire un joli graph).
J’aurais souhaité savoir comment savoir le nombre de connexion active sur un serveur.

En effet, on sait qu’une fois que ce nombre dépasse max_user_connections, les nouvelles connexions seront refusées.
J’aurais donc voulu faire un script qui appelé toutes les minutes me permette d’avoir l’évolution du nombre maximum de connexions actives sur le serveur.

Je sais qu’en SQL Server la requête serait quelque chose du genre “SELECT COUNT(*) FROM master.dbo.sysprocesses”, mais en MySQL ?

Merci d’avance,

Cordialement,

Alexis.

show status where Variable_name='Connections';

En fait je pense que le nombre de process actifs t’interressent plus que la variable Connections.

dans mysql :


SHOW PROCESSLIST;

te retourne un tableau du style :


+------+-----------+-----------------+---------+---------+------+-------+------------------+
| Id   | User      | Host            | db      | Command | Time | State | Info             |
+------+-----------+-----------------+---------+---------+------+-------+------------------+
| 4729 | cactiuser | localhost       | cacti   | Sleep   | 9    |       |                  |
| 4730 | cactiuser | localhost       | cacti   | Sleep   | 3    |       |                  |
| 4731 | cactiuser | localhost       | cacti   | Sleep   | 4    |       |                  |
| 4732 | postfix   | localhost:33261 | postfix | Sleep   | 3    |       |                  |
| 4733 | postfix   | localhost:33262 | postfix | Sleep   | 3    |       |                  |
| 4734 | postfix   | localhost:33263 | postfix | Sleep   | 3    |       |                  |
| 4735 | sqlgrey   | localhost       | sqlgrey | Sleep   | 3    |       |                  |
| 4736 | cactiuser | localhost       | cacti   | Sleep   | 0    |       |                  |
| 4746 | root      | localhost       |         | Query   | 0    |       | show processlist |
+------+-----------+-----------------+---------+---------+------+-------+------------------+

Il te suffira alors de compter le nombre de connections.

Tu peux aussi le faire sans faire de requêtes mysql avec mysqladmin :


mysqladmin processlist | egrep -v '(^\+|^\|\ Id)' | wc -l

Cela te retournera directement le nombre de connections actives


si tu as mysql 5.1, tu pourrais trouver les informations que tu désires également dans la table INFORMATION_SCHEMA.PROCESSLIST