Beenden einen Prozess in MySQL
In diesem Tutorial lernen wir, wie man einen Prozess in MySQL beendet.
Oft kann die Ausführung bestimmter MySQL-Prozesse zu lange dauern.
Dies kann zu Leistungsproblemen auf dem System führen. Im Laufe der Zeit werden verschiedene Threads und Anweisungen in einem System überladen, was die Gesamtfunktion des Servers behindert.
Um dieses Problem zu beheben und eine hohe Ressourcennutzung zu vermeiden, können wir bestimmte Prozesse beenden, die nicht mehr ausgeführt werden müssen.
Um einen Prozess in MySQL zu beenden, müssen wir zwei einfache Schritte ausführen, nachdem wir uns bei Ihrem MySQL-Konto angemeldet haben:
- Listen Sie alle Prozesse auf, die in MySQL ausgeführt werden.
- Beenden Sie den Prozess mit dem Befehl
KILL
.
Alle in MySQL laufenden Prozesse auflisten
Bevor wir darauf abzielen, laufende Prozesse zu löschen oder zu beenden, müssen wir zuerst den Prozess id
identifizieren. Sobald wir den Prozess id
haben, können wir einen Prozess beenden oder beenden.
Wir können die Liste aller vorhandenen Prozesse in MySQL mit dem Befehl show processlist
abrufen. Sobald wir diesen Befehl ausführen, erhalten wir die laufenden Prozesse für den angemeldeten Benutzer.
Eine Momentaufnahme der laufenden Prozesse ist wie folgt.
Wie wir sehen können, hat jeder Prozess eine Prozess-id
, User
, die den Benutzernamen angibt, Host
, die den Host-Server angibt, db
, die die Datenbank angibt.
Command
gibt den Typ des betrachteten Befehls an, Time
gibt die Zeit an, während der die Abfrage ausgeführt wird, State
gibt den Status des Prozesses an und Info
zeigt alle relevanten Informationen bezüglich des Prozesses an.
Beenden Sie den Prozess mit dem Befehl KILL
Sobald wir die id
des zu beendenden Prozesses erhalten haben, können wir den Befehl kill <id>
verwenden, um den Prozess zu beenden.
Lassen Sie uns darauf abzielen, den Prozess mit der id
-Nummer 14
zu beenden. Diese Aufgabe kann mit der folgenden Abfrage gelöst werden.
KILL 14;
Dadurch wird der id
-Prozess als 14
beendet.
Wenn wir außerdem alle mit einem bestimmten Benutzer verbundenen Prozesse beenden möchten, können wir diesen Vorgang mit der folgenden Abfrage ausführen.
SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='preet' INTO OUTFILE '/tmp/processes_text.txt';
In der obigen Abfrage hat eine neue Datei mit den Threads und Anweisungen den Dateinamen processes_text
. Wir können diese Datei überprüfen, um zu prüfen, ob wir alle genannten Prozesse beenden möchten.
Sobald wir uns sicher sind, können wir die folgende Abfrage verwenden.
source /tmp/processes_text.txt
Daher können mit Hilfe des KILL
-Befehls ein oder mehrere Prozesse in einer MySQL-Datenbank beendet werden.