Tuer un processus dans MySQL
- Lister tous les processus en cours d’exécution dans MySQL
-
Tuez le processus à l’aide de la commande
KILL
Dans ce tutoriel, nous allons apprendre à tuer un processus dans MySQL.
Souvent, des processus MySQL spécifiques peuvent prendre trop de temps à s’exécuter.
Cela peut entraîner des problèmes de performances sur le système. Au fil du temps, différents threads et déclarations sont encombrés dans un système qui entrave le fonctionnement global du serveur.
Pour résoudre ce problème et éviter une utilisation élevée des ressources, nous pouvons tuer des processus spécifiques dont l’exécution n’est plus nécessaire.
Pour tuer un processus dans MySQL, nous devons suivre deux étapes simples après vous être connecté à votre compte MySQL :
- Liste tous les processus en cours d’exécution dans MySQL.
- Tuez le processus à l’aide de la commande
KILL
.
Lister tous les processus en cours d’exécution dans MySQL
Avant de tenter de supprimer ou de mettre fin à tout processus en cours, nous devons d’abord identifier le processus id
. Une fois que nous avons le processus id
, nous pouvons tuer ou terminer un processus.
Nous pouvons obtenir la liste de tous les processus existants dans MySQL en utilisant la commande show processlist
. Dès que nous exécutons cette commande, nous obtiendrons les processus en cours pour l’utilisateur connecté.
Voici un aperçu des processus en cours.
Comme on peut le voir, chaque processus a un processus id
, User
qui indique le nom d’utilisateur, Host
qui indique le serveur hôte, db
qui indique la base de données.
Command
indique le type de commande en cours d’examen, Time
indique la durée d’exécution de la requête, State
indique l’état du processus et Info
indique toute information pertinente liée au processus.
Tuez le processus à l’aide de la commande KILL
Une fois que nous obtenons le id
du processus à tuer, nous pouvons utiliser la commande kill <id>
pour terminer le processus.
Visons à tuer le processus avec le numéro id
14
. Cette tâche peut être réalisée avec la requête suivante.
KILL 14;
Cela aura le processus id
comme 14
, tué.
De plus, si nous souhaitons mettre fin à tous les processus associés à un utilisateur particulier, nous pouvons effectuer cette opération à l’aide de la requête suivante.
SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='preet' INTO OUTFILE '/tmp/processes_text.txt';
Dans la requête ci-dessus, un nouveau fichier avec les threads et les instructions porte le nom de fichier processes_text
. Nous pouvons examiner ce fichier pour vérifier si nous voulons mettre fin à tous les processus mentionnés.
Une fois que nous sommes sûrs, nous pouvons utiliser la requête suivante.
source /tmp/processes_text.txt
Par conséquent, à l’aide de la commande KILL
, un ou plusieurs processus d’une base de données MySQL peuvent être terminés.