Überprüfen Sie die Transaktionsisolationsebene In MySQL können Sie die aktuelle Transaktionsisolationsstufe durch Anzeigevariablen wie „%tx_isolation%“ oder die Auswahl der Anweisung „@@tx_isolation;“ anzeigen. Die SQL-Anweisungen und Laufergebnisse zum Anzeigen der aktuellen Transaktionsisolationsebene lauten wie folgt: mysql> Variablen wie „%tx_isolation%“ anzeigen; +---------------+-----------------+ | Variablenname | Wert | +---------------+-----------------+ | tx_isolation | WIEDERHOLBARES LESEN | +---------------+-----------------+ 1 Zeile im Satz, 1 Warnung (0,17 Sek.) mysql> wähle @@tx_isolation; +-----------------+ | @@tx_isolation | +-----------------+ | WIEDERHOLBARES LESEN | +-----------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) Die Ergebnisse zeigen, dass die aktuelle Transaktionsisolationsebene von MySQL REPEATABLE-READ ist. Darüber hinaus können Sie die folgenden Anweisungen verwenden, um die globalen und Sitzungstransaktionsisolierungsebenen abzufragen: WÄHLEN SIE @@global.tx_isolation; Wählen Sie @@session.tx_isolation; Tipp: In MySQL 8.0.3 wurde die Variable tx_isolation durch die Variable transaction_isolation ersetzt. Um die Transaktionsisolationsebene in MySQL 8.0.3 abzufragen, ersetzen Sie einfach die Variable tx_isolation in der obigen Abfrage durch die Variable transaction_isolation. Ändern der Transaktionsisolationsebene MySQL bietet die Anweisung SET TRANSACTION, mit der die Transaktionsisolationsebene für eine einzelne Sitzung oder global geändert werden kann. Das Syntaxformat ist wie folgt:
Die Schlüsselwörter SESSION und GLOBAL werden verwendet, um den Umfang der geänderten Transaktionsisolationsebene anzugeben:
Jeder Benutzer kann die Transaktionsisolationsebene für eine Sitzung ändern, aber nur Benutzer mit dem SUPER-Privileg können die globale Transaktionsisolationsebene ändern. Wenn Sie einen normalen Benutzer verwenden, um die globale Transaktionsisolationsebene zu ändern, wird Ihnen eine Fehlermeldung angezeigt, dass für die Ausführung dieses Vorgangs Superprivilegien erforderlich sind. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt: C:\Benutzer\leovo>mysql -utestuser -p Passwort eingeben: ****** Willkommen beim MySQL-Monitor. Befehle enden mit ; oder \g. Ihre MySQL-Verbindungs-ID ist 41 Serverversion: 5.7.29-log MySQL Community Server (GPL) Copyright (c) 2000, 2020, Oracle und/oder seine Tochtergesellschaften. Alle Rechte vorbehalten. Oracle ist eine eingetragene Marke der Oracle Corporation und/oder ihrer Tochtergesellschaften. Andere Namen können Marken ihrer jeweiligen Eigentümer. Geben Sie „help;“ oder „\h“ ein, um Hilfe zu erhalten. Geben Sie „\c“ ein, um die aktuelle Eingabeanweisung zu löschen. mysql> GLOBALE TRANSAKTIONSISOLIERSTUFE FESTLEGEN, LESEN UNCOMMITTED; FEHLER 1227 (42000): Zugriff verweigert; Sie benötigen (mindestens eines) der SUPER-Privilegien für diesen Vorgang mysql> Sitzungstransaktionsisolierungsebene festlegen, nicht festgeschrieben lesen; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) Beispiel 1 Mit der Anweisung SET TRANSACTION können Sie die Isolationsebenen für Sitzungen und globale Transaktionen ändern. Die SQL-Anweisungen und die Ergebnisse der Ausführung lauten wie folgt: mysql> wähle @@session.tx_isolation; +------------------------+ | @@session.tx_isolation | +------------------------+ | SERIALISIERBAR | +------------------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) mysql> GLOBALE TRANSAKTIONSISOLIERSTUFE AUF WIEDERHOLBARES LESEN FESTLEGEN; Abfrage OK, 0 Zeilen betroffen (0,00 Sek.) mysql> wähle @@global.tx_isolation; +--------------------------+ | @@global.tx_isolation | +--------------------------+ | WIEDERHOLBARES LESEN | +--------------------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) Sie können auch den Befehl set tx_isolation verwenden, um die Transaktionsisolationsstufe der aktuellen Sitzung direkt zu ändern. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt: mysql> setze tx_isolation='READ-COMMITTED'; Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.) mysql> wähle @@session.tx_isolation; +------------------------+ | @@session.tx_isolation | +------------------------+ | GELESEN-ENGAGIERT | +------------------------+ 1 Zeile im Satz, 1 Warnung (0,00 Sek.) Wissenspunkte-Ergänzung Flussdiagramm zum Lesen und Commit der MySQL-Transaktionsisolationsebene Oben finden Sie den detaillierten Inhalt des Beispiels zum Anzeigen und Ändern der Transaktionsisolationsstufe von MySQL. Weitere Informationen zum Anzeigen und Ändern der Transaktionsisolationsstufe von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Implementierung der Bereitstellung eines privaten Docker-Warehouse-Registrars
>>: Die Reihenfolge der Ereignisausführung in der Knotenereignisschleife
Überblick In einer Datenbank wird ein Index verwe...
Inhaltsverzeichnis 1. Grundkenntnisse: 2. DHCP-Se...
Manchmal müssen Sie bestimmte Abhängigkeiten im B...
Inhaltsverzeichnis 1. mysqldump-Befehl zum Sicher...
Trennlinien sind eine gängige Gestaltungsart auf ...
Dieser Artikel stellt hauptsächlich die Lösung fü...
Detaillierte Erklärung der MySQL-Instanz mit akti...
Problem: Die von mybatis zurückgegebenen Daten vo...
Nachdem das Formular übermittelt wurde, wird die z...
In Gästebüchern, Foren und anderen Orten werden i...
Vorwort Die erstmals in ES6 eingeführte „Destruct...
Einführung Beginnen wir mit unserem Inhalt. Ich g...
Unterabfrageklassifizierung Klassifizierung nach ...
Mit der kontinuierlichen Entwicklung der Internetw...
mysql kopiert eine Tabellenspalte in eine andere ...