Heim  >  Artikel  >  Datenbank  >  Ausführliche Erklärung zur Verwendung des Kill-Befehls zur Lösung des Deadlock-Problems in MySQL

Ausführliche Erklärung zur Verwendung des Kill-Befehls zur Lösung des Deadlock-Problems in MySQL

黄舟
黄舟Original
2017-06-18 10:45:062237Durchsuche

In diesem Artikel werden hauptsächlich relevante Informationen zur Verwendung des Kill-Befehls zur Lösung des Deadlock-Problems (Töten einer ausgeführten SQL-Anweisung) durch MySQL vorgestellt > Verwenden Sie MySQL

, um bestimmte Anweisungen auszuführen. Aufgrund der großen Datenmenge kommt es zu einem Deadlock, der nicht reflektiert wird. Zu diesem Zeitpunkt müssen Sie eine Abfrageanweisung beenden, die Ressourcen verbraucht. Das Syntaxformat des KILL-Befehls lautet wie folgt:


Jede Verbindung zu mysqld wird ausgeführt In einem separaten Thread können Sie die SHOW PROCESSLIST-Anweisung verwenden, um zu sehen, welche Threads ausgeführt werden, und die KILL thread_id-Anweisung verwenden, um einen Thread zu beenden.

KILL [CONNECTION | QUERY] thread_id
KILL erlaubt optionale CONNECTION- oder QUERY-Modifikatoren: KILL CONNECTION ist dasselbe wie KILL ohne Modifikatoren: Es beendet die Verbindung, die der angegebenen Thread-ID zugeordnet ist. KILL QUERY beendet die Anweisung, die derzeit auf der Verbindung ausgeführt wird, lässt die Verbindung jedoch intakt.

Wenn Sie über die PROCESS-Berechtigung verfügen, können Sie alle Threads anzeigen. Wenn Sie über Superadministratorrechte verfügen, können Sie alle Threads und Anweisungen beenden. Andernfalls können Sie nur Ihre eigenen Threads und Anweisungen anzeigen und beenden. Sie können auch die Befehle mysqladmin processlist und mysqladmin kill verwenden, um Threads zu überprüfen und zu beenden.

Melden Sie sich zuerst bei MySQL an und verwenden Sie dann: show Processlist; um den

Status

jedes Threads im aktuellen MySQL anzuzeigen.


Das Obige zeigt die Liste der aktuell ausgeführten SQL-Anweisungen. Suchen Sie die ID, die der Anweisung entspricht, die die meisten Ressourcen verbraucht.

mysql> show processlist; 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
| Id  | User | Host         | db       | Command | Time | State   | Info 
+------+------+----------------------+----------------+---------+-------+-----------+---------------------  
| 7028 | root | ucap-devgroup:53396 | platform    | Sleep  | 19553 |      | NULL  
| 8352 | root | ucap-devgroup:54794 | platform    | Sleep  | 4245 |      | NULL 
| 8353 | root | ucap-devgroup:54795 | platform    | Sleep  |   3 |      | NULL 
| 8358 | root | ucap-devgroup:62605 | platform    | query  | 4156 | updating | update t_shop set |
Dann Führen Sie den Kill-Befehl aus. Das Befehlsformat lautet wie folgt:



Töte es einfach.

Das obige ist der detaillierte Inhalt vonAusführliche Erklärung zur Verwendung des Kill-Befehls zur Lösung des Deadlock-Problems in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn