Ich habe kürzlich einen ziemlich dummen Fehler gemacht und meine Ubuntu-Installation beschädigt. Um das Problem zu beheben, habe ich mit einer Live-CD gebootet und die Datenbankdateien kopiert. Jetzt habe ich jedoch die Ordner aus der alten Installation in die neue kopiert. Immer wenn ich "use database_name" eingebe, friert dies ein:
mysql> use my_database_name;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Und friert dann ein, ohne das Terminal zu geben.
In meinem Fall hat das Lesen der Tabelleninformationen unangemessen viel Zeit in Anspruch genommen. Als ich lief, stellte
mysql -e 'show processlist'
ich fest, dass der "hängende" Prozess "Warten auf die Metadatensperre der Tabelle" war. Dies machte irgendwie Sinn, da ich eine lange laufende Abfrage des Formulars hatte,create table from select ...
die an anderer Stelle ausgeführt wurde. Auf einer Ebene konnte ich verstehen, dass die Metadaten zu Tabellen nicht verfügbar waren, bis die Erstellung dieser neuen Tabelle abgeschlossen war. (Ich denke, es wäre vorzuziehen, wenn beim automatischen Vervollständigungsscan nur "unvollständige" Tabellen aus der Metadatenabfrage ausgelassen würden, wenn dies möglich wäre.)quelle
quelle