Mysql fragt die ausgeführten Transaktionen ab und wie auf Sperren gewartet werden soll

Mysql fragt die ausgeführten Transaktionen ab und wie auf Sperren gewartet werden soll

Verwenden Sie navicat zum Testen und Lernen:

Verwenden Sie zuerst set autocommit = 0; (brechen Sie Autocommit ab. Wenn dann die Commit- oder Rollback-Anweisung ausgeführt wird, wird die Transaktion festgeschrieben oder zurückgesetzt.)

Öffnen eines update

Abfrage der ausgeführten Transaktionen:

SELECT * FROM information_schema.INNODB_TRX 

Gemäß der Thread-ID dieser Transaktion ( trx_mysql_thread_id ):

In der obigen Abbildung können wir die entsprechenden mysql Threads sehen: einer ist 94362 (der zweite wartet auf die Sperre) und der andere ist 93847 (das erste Update wird ausgeführt, ohne die Transaktion festzuschreiben).

Sie können den MySQL-Befehl „ kill thread id“ verwenden, um den Thread zu beenden.

Wenn der Thread, der die Sperre hält, während dieser Zeit nicht beendet wird: Die zweite Aktualisierungsanweisung weist darauf hin, dass die Wartezeit für die Sperre abgelaufen ist

Sie können auch die MySQL-Datenbank abfragen:

Gesperrte Transaktionen anzeigen

Wählen Sie * aus Information_Schema.InnoDB_Locks;

Anzeigen von Transaktionen, die auf Sperren warten

Wählen Sie * aus Information_Schema.InnoDB_Lock_Waits;

Abfragen der in der MySQL-Datenbank vorhandenen Prozesse

[sql] einfache Kopie anzeigen

Wählen Sie * aus Informationsschema. `PROZESSLIST` (Prozessliste anzeigen;)

Konzept:

database , instance , session in MySQL.

Um eine Sitzung in MySQL herzustellen, stellen Sie keine Verbindung zu einer bestimmten Datenbank her, sondern stellen Sie eine Sitzung mit der Instanz her (dh wenn Sie eine Abfrage auf Navicat ausführen, können Sie mehrere Datenbanken entsprechend dem Port abfragen, und der Datenbankname + der Name der Datentabelle reichen für die Abfrage aus).

Auf einer physischen Maschine können mehrere instance erstellt und die Instanzen anhand port unterschieden werden.

Eine Instanz kann mehrere Datenbanken erstellen, das heißt, eine Sitzung kann mehrere Datenbanken auf einer Instanz betreiben.

Das JDBC-Protokoll stellt eine Verbindung zur Datenbank her: jdbc:mysql://localhost:3306/test Das JDBC-Protokoll stellt eine Verbindung zur Testdatenbank unter der lokalen Instanz mit Port 3306 her. Sie müssen den Datenbanknamen beim Abfragen der Datentabelle nicht hinzufügen.

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Wenn Sie mehr darüber erfahren möchten, schauen Sie sich bitte die folgenden Links an

Das könnte Sie auch interessieren:
  • Beispiel zum Anzeigen und Ändern der MySQL-Transaktionsisolationsebene
  • So finden Sie Informationen zu nicht festgeschriebenen Transaktionen in MySQL
  • Detaillierte Erläuterung des Implementierungsprinzips von ACID-Transaktionen in MySQL
  • Erläuterung der MySQL-Transaktionsauswahl für die Aktualisierung und Datenkonsistenzverarbeitung
  • Beispiel für eine in Java implementierte MySQL-Transaktionsverarbeitungsoperation
  • Lösung für das Problem der gesperrten Transaktionsverarbeitung mit hoher Parallelität in PHP+MySQL
  • So starten Sie eine Transaktion in MySQL

<<:  Zusammenfassung der allgemeinen Docker-Befehle und Tipps

>>:  Das WeChat Mini-Programm nutzt Simultanübersetzung zur Implementierung der Spracherkennung

Artikel empfehlen

Handtrack.js-Bibliothek zur Echtzeitüberwachung von Handbewegungen (empfohlen)

【Einführung】: Handtrack.js ist eine Prototypbibli...

Beispielcode zur Implementierung des Aushöhlungseffekts mit CSS

Wirkungsprinzip Verwenden Sie hauptsächlich CSS-F...

So installieren Sie Mysql5.7 in Centos6

Umfeld Centos 6.6 MySQL 5.7 Installieren Falls da...

Navicat für MySql Visueller Import von CSV-Dateien

In diesem Artikel wird der spezifische Code von N...

So verwenden Sie xshell zum Herstellen einer Verbindung zu Linux in VMware (2 Methoden)

【Vorwort】 Ich möchte vor Kurzem das Prüfungssyste...

Detaillierte Erklärung zur sauberen Deinstallation von Docker

Zunächst die Informationen zur Serverumgebung: Gr...

Tiefgreifendes Verständnis der CSS @font-face-Leistungsoptimierung

In diesem Artikel werden hauptsächlich allgemeine...

So passen Sie CSS an den Vollbildmodus des iPhone an

1. Medienabfragemethode /*iPhone X-Anpassung*/ @m...

Übersicht über die Definition der HTC-Komponenten nach IE5.0

Vor der Veröffentlichung von Microsoft IE 5.0 best...

Nützliche Codes zum Erstellen von Webseiten

<br />Wie kann ich die Bildlaufleiste auf de...

Gründe, warum MySQL den Abfrage-Cache abgebrochen hat

MySQL hatte zuvor einen Abfragecache, Query Cache...

So erstellen Sie eine lnmp-Umgebung im Docker

Erstellen eines Projektverzeichnisses mkdir php E...