Mysql verwendet den Kill-Befehl, um das Deadlock-Problem zu lösen (eine bestimmte SQL-Anweisung, die ausgeführt wird, abzubrechen).

Mysql verwendet den Kill-Befehl, um das Deadlock-Problem zu lösen (eine bestimmte SQL-Anweisung, die ausgeführt wird, abzubrechen).

Bei der Verwendung von MySQL zum Ausführen bestimmter Anweisungen kann es aufgrund der großen Datenmenge zu einem Deadlock kommen und es wird keine Antwort gegeben. Zu diesem Zeitpunkt müssen Sie eine Abfrageanweisung beenden, die Ressourcen verbraucht. Das Syntaxformat des KILL-Befehls lautet wie folgt:

KILL [VERBINDUNG | ABFRAGE] Thread-ID

Jede Verbindung zu mysqld läuft in einem separaten Thread. Mit der Anweisung SHOW PROCESSLIST können Sie sehen, welche Threads laufen, und mit der Anweisung KILL thread_id können Sie einen Thread beenden.

KILL erlaubt optionale CONNECTION- oder QUERY-Modifikatoren: KILL CONNECTION ist dasselbe wie KILL ohne Modifikatoren: Es beendet die mit der angegebenen Thread-ID verknüpfte Verbindung. KILL QUERY beendet die aktuell auf der Verbindung ausgeführte Anweisung, lässt die Verbindung jedoch intakt.

Wenn Sie über die Berechtigung PROCESS 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 untersuchen 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.

mysql> Prozessliste anzeigen; 
+------+------+----------------------+----------------+---------+-----------+---------------+--------------------  
| ID | Benutzer | Host | db | Befehl | Zeit | Status | Info 
+------+------+----------------------+----------------+---------+-----------+---------------+--------------------  
| 7028 | root | ucap-devgroup:53396 | Plattform | Ruhezustand | 19553 | | NULL  
| 8352 | root | ucap-devgroup:54794 | Plattform | Ruhezustand | 4245 | | NULL 
| 8353 | root | ucap-devgroup:54795 | Plattform | Ruhezustand | 3 | | NULL 
| 8358 | root | ucap-devgroup:62605 | Plattform | Abfrage | 4156 | Aktualisierung | t_shop-Set aktualisieren |

Oben wird die Liste der aktuell ausgeführten SQL-Anweisungen angezeigt und die ID der Anweisung ermittelt, die die meisten Ressourcen verbraucht.

Führen Sie dann den Kill-Befehl aus. Das Befehlsformat ist wie folgt:

ID töten; 
- Beispiel: 
töten 8358

Töte es einfach.

Das könnte Sie auch interessieren:
  • mysql show processlist zeigt den MySQL-Abfrageprozess an
  • Gründe, warum MySQL Kill Threads nicht beenden kann
  • So zeigen Sie Prozesse in MySQL an und beenden sie

<<:  So verwenden Sie die Glog-Protokollbibliothek in einer Linux-Umgebung

>>:  Welche Schleife ist in JavaScript die schnellste?

Artikel empfehlen

Unterschied und Prinzipanalyse des Nginx-Forward- und Reverse-Proxy

1. Der Unterschied zwischen Forward-Proxy und Rev...

So implementieren Sie mehrere Parameter in el-dropdown in ElementUI

Aufgrund der zunehmenden Anzahl von Schaltflächen...

Vue CodeMirror realisiert den Effekt des Online-Code-Compilers

Vorwort Wenn wir den Effekt der Online-Codekompil...

Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

Warum wird NULL so oft verwendet? (1) Javas Null ...

So lösen Sie das Problem des verstümmelten MySQL-Inserts

Problembeschreibung: Beim Einfügen chinesischer Z...

Lösung zum Anwenden von CSS3-Transformationen auf Hintergrundbilder

CSS-Transformationen sind zwar cool, wurden aber ...

Einige Fehler, die JavaScript-Anfänger häufig machen

Inhaltsverzeichnis Vorwort Verwechslung von „unde...

So installieren Sie MySQL 5.7.29 mit einem Klick mithilfe eines Shell-Skripts

Dieser Artikel bezieht sich auf die Arbeit des 51...

Analyse und Praxis des serverseitigen Rendering-Prinzips von React

Die meisten Leute haben schon einmal vom Konzept ...

Schriftreferenzen und Übergangseffekte außerhalb des Systems

Code kopieren Der Code lautet wie folgt: <span...

Linux wird geladen, vmlinux wird debuggt

Laden von Kernelsymbolen mit gdb arm-eabi-gdb out...

Eine kurze Diskussion über den CSS-Kaskadierungsmechanismus

Warum hat CSS einen Kaskadierungsmechanismus? Da ...