Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Datenbanken reparieren

51 views
Skip to first unread message

Claus Reibenstein

unread,
Jul 2, 2008, 11:08:30 AM7/2/08
to
Hallo allerseits,

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

Axel Schwenke

unread,
Jul 2, 2008, 12:23:26 PM7/2/08
to
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

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

unread,
Jul 2, 2008, 1:34:04 PM7/2/08
to
Axel Schwenke schrieb:

> 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

0 new messages