Heim >Datenbank >MySQL-Tutorial >So lösen Sie die Ausnahme „Waiting for table metadata lock' in MySQL

So lösen Sie die Ausnahme „Waiting for table metadata lock' in MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBnach vorne
2023-05-29 11:31:122731Durchsuche

1. Grund

Wenn eine DDL-Anweisung ausgeführt wird, wird die MDL-Metadaten-Schreibsperre automatisch zur Tabelle hinzugefügt und die Sperre wird erst aufgehoben, wenn die Transaktion festgeschrieben wird. Der Zweck dieser Sperre besteht darin, die Integrität der Tabellenstruktur und die Konsistenz der Metadaten zu schützen.

2. Verarbeitungsmethode

Die Produktionsumgebung ist in der folgenden Abbildung dargestellt: Sitzung A öffnet eine Transaktion und führt DQL aus

So lösen Sie die Ausnahme „Waiting for table metadata lock in MySQL

Zu diesem Zeitpunkt muss Sitzung B Volltextindizes zu den beiden Feldern hinzufügen Tabelle

So lösen Sie die Ausnahme „Waiting for table metadata lock in MySQL

Nach der Ausführung wurde festgestellt, dass der Master feststeckt

So lösen Sie die Ausnahme „Waiting for table metadata lock in MySQL

Überprüfen Sie die zugehörige Prozessliste und stellen Sie fest, dass er auf den Erhalt der MDL-Metadatensperre gewartet hat

select * from information_schema.processlist where info like '%alter table `bas_business_type_text` %'

So lösen Sie die Ausnahme „Waiting for table metadata lock in MySQL

Sehen Sie sich das an In der Tabellensperrensituation können Sie sehen, dass sich die Lese- und Schreibsperren gegenseitig ausschließen.

SELECT * FROM sys.schema_table_lock_waits

So lösen Sie die Ausnahme „Waiting for table metadata lock in MySQL

Das obige ist der detaillierte Inhalt vonSo lösen Sie die Ausnahme „Waiting for table metadata lock' in MySQL. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen