fbpx

Comment detecter et tuer des processus MySQL

mysql

Si vous cherchez à déterminer ce qui se passe quand votre appel PHP mysql_query tient énormément de temps, une commande MySQL pourrait vous faciliter la vie.  show processlist est une commande MySQL utile pour garder trace des transactions client serveur. Vous pouvez utiliser les IDs pour tuer les processus errants. La commande liste toutes les connections ouvertes au serveur, associées a un ID, au hôte, utilisateur, base de données ainsi que la requête elle même, et une information intéressante qui est l’état de la requête. La requête peut être tout simplement lancée par le client MySQL.

mysql> SHOW PROCESSLIST;
+----+-------+----------------+------+---------+------+-------+------------------+
| Id | User  | Host           | db   | Command | Time | State | Info             |
+----+-------+----------------+------+---------+------+-------+------------------+
| 28 | root  | 127.0.0.1:1704 | NULL | Query   | 0    | NULL  | show processlist |
| 45 | admin | 127.0.0.1:1725 | db1  | Sleep   | 0    |       | NULL             |
| 49 | root  | 127.0.0.1:1726 | db1  | Sleep   | 1    |       | NULL             |
+----+-------+----------------+------+---------+------+-------+------------------+
3 rows in set (0.10 sec)

Notez toutefois que puisque cette commande affiche des informations sur l’ensemble des requêtes exécutées, elle est uniquement disponible pour les utilisateurs avec un super privilège comme l’utilisateur root. La liste des états peut être consultées sur le site de MySQL.

En plus de pouvoir afficher les processus, les utilisateurs avec un super privilège peuvent donc “tuer” ces processus en utilisant la commande KILL suivie de l’identifiant du processus. ceci est particulièrement utiles pour les processus zombie.

mysql> KILL 49;
Query OK, 0 rows affected (0.05 sec)

Il est a noter que la commande Kill va tuer le processus sans interrompre la connexion.

Anis Berejeb

Anis est avant tout un passioné de l'agilité et du développement. Avec plus de 15 ans dans le domaine du développement web, son expertise combine des connaissances accrues dans l'ensemble des notions partant du développement logiciel jusqu'à l'organisation des équipes dans les environnements agiles à grande échelle.

You may also like...