ich habe eine InnoDB-Datenbank (nennen wir sie 'foo') mit einigen
Tabellen. Vor einiger Zeit wurde eine dieser Tabellen (nennen wir sie
'bar') gelöscht.
Genau diese gelöschte Tabelle macht nun Ärger. Aus irgendwelchen Gründen
glaubt MySQL, diese würde noch existieren, was dann zu lustigen
Folgefehlern führt.
Wenn ich z.B. versuche, die Datenbank mit mysqldump zu sichern, bricht
dieses ab mit:
Got error: 1146: Table 'foo.bar' doesn't exist when using LOCK TABLES
Ich habe schon versucht, diese Tabelle mit DROP TABLE ein zweites Mal zu
löschen. Ergebnis:
ERROR 1051 (42S02): Unknown table 'bar'
Ähnliches, wenn ich versuche, diese Tabelle neu anzulegen:
ERROR 1050 (42S01): Table 'bar' already exists
Ich habe auch schon versucht, die Datenbank komplett zu löschen, um sie
anschließend neu anzulegen. Geht auch nicht:
ERROR 1051 (42S02): Unknown table 'bar'
mysqlcheck --repair findet ebenfalls die nicht mehr vorhandene Tabelle,
kann die Datenbank aber auch nicht reparieren.
Meine Suche im Internet nach irgendwelchen Tools, um die Datenbank zu
reparieren oder wenigstens zu löschen, ergaben leider nichts Verwertbares.
Wie werde ich dieses verd...te Ding los?
Gruß. Claus
Lies mal:
http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting-datadict.html
Es scheint so, als würde $DATADIR/foo/bar.frm noch existieren - obwohl
es eigentlich beim DROP TABLE hätte gelöscht werden sollen. Das kann
z.B. ein Problem mit File-Permissions sein.
XL
> Claus Reibenstein <4spame...@online.de> wrote:
>
>> ich habe eine InnoDB-Datenbank (nennen wir sie 'foo') mit einigen
>> Tabellen. Vor einiger Zeit wurde eine dieser Tabellen (nennen wir sie
>> 'bar') gelöscht.
>>
>> Genau diese gelöschte Tabelle macht nun Ärger. Aus irgendwelchen Gründen
>> glaubt MySQL, diese würde noch existieren, was dann zu lustigen
>> Folgefehlern führt.
>
> Lies mal:
>
> http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting-datadict.html
Error-Log. Hätte ich eigentlich auch von alleine drauf kommen können
(oder sollen oder müssen) :-(
Muss an der Hitze liegen ...
> Es scheint so, als würde $DATADIR/foo/bar.frm noch existieren - obwohl
> es eigentlich beim DROP TABLE hätte gelöscht werden sollen. Das kann
> z.B. ein Problem mit File-Permissions sein.
Die Datei existierte in der Tat noch. Die Permissions waren allerdings
vollkommen in Ordnung. Keine Ahnung, warum die da noch rumlungerte.
Jedenfalls habe ich die Datei einfach gelöscht, und nun funktioniert
alles wieder ganz normal.
Danke für Deine Hilfe.
Gruß. Claus