So überprüfen Sie, wo die Metadatensperre in MySQL blockiert ist Schritte: 1. Durchführung von Sitzung 1: Transaktion starten; wähle *aus t1; 2. Sitzung 2 wird nach Schritt 1 ausgeführt: Tabelle t1 löschen; Zu diesem Zeitpunkt ist die Drop-Anweisung von Sitzung 2 blockiert. Wie können Sie also Metadatensperren analysieren und anzeigen? Verfahren: 1) Führen Sie „show processlist;“ aus. Sie sehen dann, dass die Drop-Anweisung auf die Metadatensperre wartet. mysql> Prozessliste anzeigen; +----+----------+----------+------+---------+---------+---------+-----------------------------------------------------------------+------------------+ | ID | Benutzer | Host | db | Befehl | Zeit | Status | Info | +----+----------+----------+------+---------+---------+---------+-----------------------------------------------------------------+------------------+ | 5 | Systembenutzer | | NULL | Verbinden | 1050234 | Warte darauf, dass der Master ein Ereignis sendet | NULL | | 6 | Systembenutzer | | NULL | Verbinden | 983193 | Slave hat das gesamte Relay-Protokoll gelesen; wartet auf die Aktualisierung durch den Slave-E/A-Thread | NULL | | 8 | root | localhost | yzs | Schlaf | 93 | | NULL | | 9 | root | localhost | yzs | Abfrage | 3 | Warte auf Sperre der Tabellenmetadaten | Tabelle t1 löschen | | 10 | root | localhost | NULL | Abfrage | 0 | init | Prozessliste anzeigen | +----+----------+----------+------+---------+---------+---------+-----------------------------------------------------------------+------------------+ 5 Zeilen im Satz (0,00 Sek.) 2) Sie können sehen, dass der Thread der aktuell laufenden Transaktion trx_mysql_thread_id:8 ist. Was also macht dieser Thread? mysql> wähle * aus information_schema.innodb_trx\G *************************** 1. Reihe *************************** trx_id: 17683 trx_state: LÄUFT trx_started: 18.10.2017 05:32:46 trx_requested_lock_id: NULL trx_wait_started: NULL trx_gewicht: 0 trx_mysql_thread_id: 8 trx_query: NULL trx_operation_state: NULL trx_tables_in_use: 0 trx_tables_locked: 0 trx_lock_structs: 0 trx_lock_memory_bytes: 320 trx_rows_locked: 0 trx_rows_modified: 0 trx_concurrency_tickets: 0 trx_isolation_level: WIEDERHOLBARES LESEN trx_unique_checks: 1 trx_foreign_key_checks: 1 trx_last_foreign_key_error: NULL trx_adaptive_hash_latched: 0 trx_adaptive_hash_timeout: 10000 trx_ist_schreibgeschützt: 0 trx_autocommit_non_locking: 0 1 Zeile im Satz (0,03 Sek.) 3) Sie können sehen, dass dieser Thread eine Select-Anweisung ausführt. Wenn Sie „show engine innodb status“ ausführen, können Sie sehen, dass sich die Transaktion im Ruhezustand befindet, was bedeutet, dass die Transaktionsanweisung ausgeführt, aber nicht festgeschrieben wurde. Führen Sie kill 8 aus, um den Thread der Transaktion zu beenden. Oder überprüfen Sie die SQL-Anweisungen des Unternehmens, um festzustellen, ob nicht übermittelte SQL-Anweisungen vorhanden sind. mysql> wähle * aus performance_schema.events_statements_current\G *************************** 1. Reihe *************************** THREAD_ID: 27 EVENT_ID: 15 END_EVENT_ID: 15 EVENT_NAME: Anweisung/SQL/Auswahl QUELLE: mysqld.cc:962 TIMER_START: 1050544992900922000 TIMER_END: 1050544993740836000 TIMER_WAIT: 839914000 SPERRZEIT: 196000000 SQL_TEXT: wähle * aus t1 DIGEST: 1aa32397c8ec37230aed78ef16126571 DIGEST_TEXT: WÄHLEN SIE * AUS `t1` CURRENT_SCHEMA: yzs OBJECT_TYPE: NULL OBJECT_SCHEMA: NULL OBJECT_NAME: NULL OBJECT_INSTANCE_BEGIN: NULL MYSQL_ERRNO: 0 RETURNED_SQLSTATE: NULL MESSAGE_TEXT: NULL FEHLER: 0 WARNUNGEN: 0 BETROFFENE ZEILEN: 0 ROWS_SENT: 10 Untersuchte Zeilen: 10 ERSTELLTE_TMP_DISK_TABLES: 0 ERSTELLTE_TMP_TABELLEN: 0 SELECT_FULL_JOIN: 0 SELECT_FULL_RANGE_JOIN: 0 Auswahlbereich: 0 Auswahlbereichsüberprüfung: 0 SELECT_SCAN: 1 SORT_MERGE_PASSES: 0 SORT_RANGE: 0 SORT_ROWS: 0 SORT_SCAN: 0 KEIN_INDEX_VERWENDET: 1 KEIN_GUTER_INDEX_VERWENDET: 0 NESTING_EVENT_ID: NULL NESTING_EVENT_TYPE: NULL Wenn Sie Fragen haben, hinterlassen Sie bitte eine Nachricht oder kommen Sie zur Diskussion in die Community. Vielen Dank fürs Lesen und ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung dieser Site! Das könnte Sie auch interessieren:
|
<<: Tutorial zur Installation und Konfiguration von VMware Tools für Ubuntu 18.04
>>: Zusammenfassung der React-Grundlagen
Node.js löst das Problem verstümmelter chinesisch...
Inhaltsverzeichnis 1.1 Java-Umgebung als Vorausse...
Inhaltsverzeichnis Vorwort Warum Wie viel kostet ...
Das Vue-Projekt implementiert eine aktualisierte ...
1. Syntax TIMESTAMPDIFF(Einheit, Beginn, Ende); G...
<br /> Im ersten und zweiten Teil haben wir ...
eins. Remote-Bereitstellung mit Tomcat 1.1 Aufget...
Heute bin ich wieder in die Falle getappt. Ich bi...
Inhaltsverzeichnis 1 Aktuellen Datenbankinhalt ei...
In diesem Artikel wird der spezifische Code von j...
Vorwort Der Speicherort im Serverblock in der Ngi...
Anwendungssoftware hat im Allgemeinen folgende Ge...
IIS7 muss bestätigen, ob das pseudostatische Modu...
Manchmal ist das Herunterladen großer Netzwerkdat...
Bei der Installation des Quellcodes von CentOS6.9...