230 MySQL - Technische Referenz f¨ur Version 5.0.1-alpha
myisamchk -m tabelle
Das findet 99.999% aller Fehler. Zuerst pr¨uft es alle Indexeintr¨age auf Fehler
und liest dann alle Zeilen durch. Es berechnet eine Pr¨ufsumme f¨ur alle Schl¨ussel
in den Zeilen und best¨atigt dann, dass die Pr¨ufsumme mit der Pr¨ufsumme f¨ur
die Schl¨ussel im Indexbaum ¨ubereinstimmt.
myisamchk -e tabelle
Das f¨uhrt eine vollst¨andige, gr¨undlich Pr¨ufung aller Daten durch (-e bedeutet
“extended check” - erweiterte Pr¨ufung). Es f¨uhrt ein Pr¨uf-Lesen jedes Schl¨ussels
f¨ur jede Zeile durch, um zu best¨atigen, dass sie tats¨achlich auf die richtige
Zeile verweisen. Das kann bei einer großen Tabelle mit vielen Schl¨usseln SEHR
LANG dauern. myisamchk h¨alt normalerweise an, wenn es den ersten Fehler
gefunden hat. Wenn Sie mehr Informationen haben wollen, k¨onnen Sie die -
-verbose-(-v)-Option benutzen. Das veranlasst myisamchk, weiterzumachen,
bis maximal 20 Fehler gefunden wurden. Bei normalem Gebrauch ist ein ein-
faches myisamchk (ohne weitere Argumente ausser dem Tabellennamen) ausre-
ichend.
myisamchk -e -i tabelle
Wie der vorherige Befehl, jedoch weist die -i-Option myisamchk an, zus¨atzlich
einige statistische Informationen auszugeben.
5.4.6.9 Wie Tabellen repariert werden
Der folgende Abschnitt behandelt nur die Benutzung von myisamchk mit MyISAM-Tabellen
(Erweiterungen .MYI und .MYD). Wenn Sie ISAM-Tabellen benutzen (Erweiterungen .ISM
und .ISD), sollten Sie statt dessen isamchk benutzen.
Ab MySQL-Version 3.23.14 k¨onnen Sie MyISAM-Tabellen mit dem
REPAIR TABLE
-Befehl
reparieren. Siehe Abschnitt 5.4.5 [REPAIR TABLE], Seite 221.
Zu den Symptomen einer besch¨adigten Tabelle geh¨oren Anfragen, die unerwartet abbrechen,
und beobachtbare Fehler wie folgender:
• ‘tabelle.frm’ is locked against change
• Can’t find file ‘tabelle.MYI’ (Errcode: ###)
• Unexpected end of file
• Record file is crashed
• Got error ### from table handler
Um mehr Information ¨uber den Fehler zu erhalten, lassen Sie perror ### laufen. Hier
sind die h¨aufigsten Fehler, die auf ein Problem mit der Tabelle hinweisen:
shell> perror 126 127 132 134 135 136 141 144 145
126 = Index-Datei ist besch¨adigt / falsches Dateiformat
127 = Daten-Datei ist besch¨adigt
132 = Alte Datenbank-Datei
134 = Datensatz wurde bereits gel¨oscht (oder Daten-Datei besch¨adigt)
135 = Kein Platz mehr in der Daten-Datei
136 = Kein Platz mehr in der Index-Datei
141 = Doppelter Eintrag f¨ur eindeutigen Schl¨ussel oder Beschr¨ankung beim Schreiben oder Aktualisiern
Comentarios a estos manuales