Ich fürchte, Sie können die Datenbank nicht löschen.
Das Problem ist die beschädigte Tabelle. Es ist nicht unbedingt die .ibd
Datei. Es ist höchstwahrscheinlich der Datenwörterbucheintrag in ibdata1 ( siehe bildliche Darstellung von ibdata1 ).
Ich schrieb darüber zurück auf Mar 02, 2012
: InnoDB-Tabelle SELECT gibt FEHLER 2006 zurück (HY000): MySQL-Server ist verschwunden (nach Stromausfall)
Obwohl dies mühsam ist, können Sie Folgendes tun, um die anderen Tabellen in dieser beschädigten Datenbank zu speichern bad_db
:
SCHRITT 01) USE bad_db
SCHRITT 02) Führen Sie SELECT COUNT(1) FROM tablename;
für jede Tabelle in bad_db
. Sammeln Sie alle Tabellennamen, die mysqld nicht zum Absturz bringen, wenn Sie versuchen, die Zählung auszuführen.
SCHRITT 03) Führen Sie mysqldump -u... -p... bad_db table1 table2 ... tableN > bad_db_goodtables.sql
alle Tabellen aus, die mysqld nicht zum Absturz gebracht haben.
Wenn Sie einen anderen Datenbanknamen verwenden möchten, laden Sie ihn erneut bad_db_goodtables.sql
in diese neue Datenbank.
Wenn Sie möchten, dass die Datenbank den gleichen Namen hat, BAD NEWS !!! Sie müssen ibdata1 überholen. Es gibt weitere Schritte:
SCHRITT 04) mysqldump alle anderen Datenbanken in separate Dump-Dateien
SCHRITT 05) Führen Sie eine Bereinigung der InnoDB-Infrastruktur durch ( siehe meinen Oct 29, 2010
StackOverflow-Beitrag ).
SCHRITT 06) Laden Sie alle anderen guten mysqldumps-Datenbanken neu.
Versuche es !!!