osCommerce Knowledge Base

1016 - Can't open file 'TABELLENNAME.MYI' (errno: 145)

Zuletzt aktualisiert: 15th May, 2004
Beitrag ID: 128


Überblick

Folgende Fehlermeldung erscheint, wenn eine Tabelle der Datenbank -vermutlich aufgrund eines Absturzes- fehlerhaft ist, und auf sie weder zugegriffen noch von ihr gelesen werden kann:

1016 - Can't open file 'TABELLENNAME.MYI' (errno: 145)

Die Fehlermeldung wird so lange auftreten, bis die entsprechende Tabelle der Datenbank repariert wurde.

Lösungsvorschlag

Mit folgende Methoden ist es möglich, fehlerhafte Tabellen zu reparieren. Die Auswahl der Methode hängt davon ab, ob der Datenbankserver noch läuft (Methode 1) oder nicht (Methode 2).


Die Zeichenkette TABELLENNAME muß in den folgenden Befehlen durch den Namen der Tabelle ersetzt werden, der in der Fehlermeldung angegeben wird.


Methode 1: repair table SQL-Befehl

Führen Sie den folgenden SQL-Befehl aus, wenn der Datenbankserver noch läuft:

repair table TABELLENNAME;

Dies können sie z.B. in phpMyAdmin im Menüpunkt SQL oder in der Kommandozeile des Servers mit dem mysql-Tool durchführen.

Methode 2: myisamchk-Befehl

Der myisamchk Befehl ist Bestandteil einer Standard-MySQL-Installation und kann ausgeführt werden, wenn der MySQL-Server nicht mehr läuft. Loggen Sie sich dazu (z.B. per SSH) auf ihren Server ein, und führen Sie anschließend in der Kommandozeile folgende Befehl aus:
myisamchk [OPTIONEN] /pfad/zum/datenbank/verzeichnis/TABELLENNAME.MYI

Die für Sie passenden Optionen entnehmen Sie der Online-Dokumentation von myisamchk oder dem folgenden Befehl:
myisamchk --help

Beim Autor dieses Artikels lautet der Pfad des Datenbankverzeichnisses /var/lib/mysql. Die myisamchk-Methode dürfte allerdings nur dann funktionieren, wenn Sie root-Zugriff auf den Server haben. Wenn dem nicht so ist, sollten Sie ihren Provider kontaktieren.

Verweise zum Thema

 

Wie hilfreich ist dieser Beitrag?