GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So finden und beenden / beenden Sie den MySQL-Prozess

Einführung

Unnötige MySQL-Prozesse können Leistungsprobleme auf Ihrem System verursachen. Im Laufe der Zeit häufen sich aktive Threads und bringen Ihren Server zum Stillstand, wodurch Benutzer daran gehindert werden, auf Tabellen zuzugreifen und Anfragen auszuführen.

Wenn die Ressourcennutzung extrem hoch ist, müssen Sie möglicherweise MySQL-Prozesse beenden. Diese Anleitung zeigt Ihnen, wie Sie MySQL-Prozesse identifizieren und einen Prozess beenden.

Voraussetzungen

  • Zugriff auf ein Befehlszeilen-/Terminalfenster
  • MySQL oder MariaDB installiert
  • Benutzer mit sudo oder root Privilegien

So finden Sie die Liste der MySQL-Prozesse

Bevor Sie einen Prozess finden und beenden können, müssen Sie entweder auf einen lokalen oder entfernten MySQL-Server zugreifen. Um sich als root bei Ihrem lokalen MySQL-Konto anzumelden, öffnen Sie das Terminal und geben Sie ein:

mysql -u root -p

Geben Sie das Passwort ein, wenn Sie dazu aufgefordert werden. Wenn die MySQL-Shell geladen wird, zeigt die Eingabeaufforderung mysql> an .

Um einen Prozess zum Beenden oder Beenden zu finden, laden Sie die Liste mit allen aktiven Sitzungen.
Verwenden Sie in der MySQL-Shell diese Abfrage:

SHOW PROCESSLIST;

Die Ausgabe zeigt die folgenden Informationen an:

Möglicherweise haben Sie weitere Einträge in Ihrer Liste. Notieren Sie sich die Id des Prozesses, den Sie beenden möchten. Die Time Spalte hilft Ihnen, die am längsten laufenden Prozesse zu bestimmen. Das sind normalerweise diejenigen, die Sie zuerst beenden möchten.

Wie man den MySQL-Prozess beendet

Um eine MySQL-Sitzung aus der Liste zu beenden, verwenden Sie KILL Abfrage, gefolgt von der Thread-Id Sie haben es vorhin bemerkt.

KILL 14;

Die Shell zeigt den Abfragestatus und die Anzahl der betroffenen Zeilen an:„Abfrage OK, 0 Zeilen betroffen (0,06 Sek.) . Diese Abfrage beendet die Verbindung zur Datenbank, einschließlich aller mit der Verbindung verbundenen Operationen.

Denken Sie daran, dass ein Benutzer die entsprechenden Berechtigungen haben muss, um einen Prozess beenden zu können.

Wie man alle MySQL-Prozesse für einen bestimmten Benutzer beendet

MySQL hat keinen eindeutigen Befehl zum Beenden aller Prozesse.

Um alle Prozesse für einen bestimmten Benutzer zu beenden, verwenden Sie CONCAT um eine Datei mit der Liste der Threads und Anweisungen zu erstellen. In unserem Fall haben wir root eingegeben als Benutzer. Um einen anderen Benutzer anzugeben, ersetzen Sie root mit dem gewünschten Benutzernamen.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='root' INTO OUTFILE '/tmp/process_list.txt';

Diese Abfrage hat eine Datei namens process_list.txt erstellt . Sie können den Namen nach Ihren Wünschen bearbeiten. Öffnen Sie die Datei und überprüfen Sie, ob dies die Prozesse sind, die Sie beenden möchten. Wenn Sie fertig sind, geben Sie Folgendes ein:

SOURCE /tmp/process_list.txt;

Sie können der Abfrage Bedingungen hinzufügen, um die Liste der Prozesse in der Ausgabedatei einzugrenzen. Fügen Sie beispielsweise time > 1000 hinzu an den Befehl, nur die Prozesse mit einem Zeitwert über 1000 einzubeziehen.

SELECT CONCAT('KILL ',id,';') FROM information_schema.processlist WHERE user='root' and time>1000 INTO OUTFILE '/tmp/process_list.txt';

Cent OS
  1. So beenden Sie einen Zombie-Prozess unter Linux

  2. So finden Sie MySQL-, PHP- und Apache-Konfigurationsdateien

  3. So finden und töten Sie den Zombie-Prozess in Linux

  4. Was sind Zombie-Prozesse und wie findet und tötet man Zombie-Prozesse?

  5. Wie finde ich die Prozess-ID (PID) eines laufenden Terminalprogramms?

So finden Sie die Prozess-ID eines Programms und beenden es [Kurztipp]

Wie man einen Prozess unter Linux beendet

So beenden oder beenden Sie einen Linux-Prozess:Der ultimative Leitfaden

So finden Sie die PID und PPID eines Prozesses in Linux

So beenden Sie Prozesse in Linux mit kill, killall und pkill

So beenden Sie MySQL-Prozesse in phpMyAdmin