Nur ein Hinweis, dass sich alle Tabellen, auf die verwiesen wird, in der INFORMATION_SCHEMADatenbank befinden.
Michael Mior
9
Enthalten diese InnoDB-Tabellen wirklich Informationen zu Metatdata-Sperren? Dieser Blog-Beitrag schlägt etwas anderes vor: mysql.wisborg.dk/2014/01/13/…
Gareth
1
@Gareth: funktioniert bis mysql -mysql-5-7-3-. Danke für Update.
Joddy
11
Alle diese hatten leere Sätze ... dennoch wird die Sperre auf der Prozessliste angezeigt ...
Wenn Sie den Prozess nicht finden können, der die Tabelle sperrt (weil sie bereits tot ist), ist es möglicherweise ein Thread, der immer noch so bereinigt
Abschnitt TRANSAKTION von
show engine innodb status;
Am Ende
---TRANSACTION 1135701157, ACTIVE 6768 sec
MySQL thread id 5208136, OS thread handle 0x7f2982e91700, query id 882213399 xxxIPxxx 82.235.36.49 my_user cleaning up
INFORMATION_SCHEMA
Datenbank befinden.Wenn Sie den Prozess nicht finden können, der die Tabelle sperrt (weil sie bereits tot ist), ist es möglicherweise ein Thread, der immer noch so bereinigt
Abschnitt TRANSAKTION von
Am Ende
Wie in einem Kommentar in Clear Transaction Deadlock erwähnt?
Sie können versuchen, den Transaktions-Thread hier direkt mit zu beenden
arbeitete für mich.
quelle
MySQL 5.7 macht Informationen zur Metadatensperre in der
performance_schema.metadata_locks
Tabelle verfügbar .Dokumentation hier
quelle
Ich hatte ein ähnliches Problem mit Datagrip und keine dieser Lösungen funktionierte.
Nach dem Neustart des Datagrip-Clients war dies kein Problem mehr und ich konnte Tabellen wieder löschen.
quelle