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

Das native VIDEO-Tag der HTML-Seite verbirgt die Download-Button-Funktion

Beim Schreiben eines Webprojekts stieß ich auf ei...

Wie wird eine SQL-Anweisung in MySQL ausgeführt?

Inhaltsverzeichnis 1. Analyse der MySQL-Architekt...

Problemlösungsvorgänge für Alpine Docker-Bildschriftarten

1. Führen Sie Schriftarten aus, öffnen Sie den Sc...

Auszeichnungssprache - Liste

Standardisierte Designlösungen – Auszeichnungsspr...

HTML-Tabellen-Markup-Tutorial (18): Tabellenkopf

<br />Die Kopfzeile bezieht sich auf die ers...

Tipps zur Verwendung des Top-Befehls in Linux

Lassen Sie mich zunächst die Bedeutung einiger Fe...

Detaillierte Erklärung, wie Sie alle untergeordneten Elemente mit CSS auswählen

Wie wähle ich mit CSS rekursiv alle untergeordnet...

So lösen Sie das Problem ERROR 2003 (HY000) beim Starten von MySQL

1. Problembeschreibung Beim Starten von MySQL tri...

Navicat Premium betreibt MySQL-Datenbank (führt SQL-Anweisungen aus)

1. Einführung in Navicat 1. Was ist Navicat? Navi...

MySQL-Datenbankoptimierung: Indeximplementierungsprinzip und Nutzungsanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

So ändern Sie den Hostnamen in Linux dauerhaft

Wenn Sie Ihren Hostnamen ändern möchten, können S...

JS implementiert Anforderungsdispatcher

Inhaltsverzeichnis Abstraktion und Wiederverwendu...