Die folgenden Optionen von mysqld können
verwendet werden, um das Verhalten von
MyISAM
-Tabellen zu ändern. Weitere
Informationen finden Sie unter Abschnitt 5.2.1, „Befehlsoptionen für mysqld“.
--myisam-recover=
mode
Stellt den Modus für die automatische Wiederherstellung von
abgestürzten MyISAM
-Tabellen ein.
--delay-key-write=ALL
Zwischen den Schreibvorgängen werden die Schlüsselpuffer
(Key-Buffer) für MyISAM
-Tabellen nicht
auf die Festplatte zurückgeschrieben.
Note: Wenn Sie dies tun,
sollten Sie auf MyISAM
-Tabellen nicht von
einem anderen Programm aus zugreifen (zum Beispiel von einem
anderen MySQL-Server oder mit myisamchk),
so lange die Tabellen in Gebrauch sind. Sonst riskieren Sie,
dass der Index beschädigt wird. Diese Gefahr wird durch
--external-locking
nicht gebannt.
Die folgenden Systemvariablen beeinflussen das Verhalten von
MyISAM
-Tabellen. Weitere Informationen finden
Sie unter Abschnitt 5.2.2, „Server-Systemvariablen“.
bulk_insert_buffer_size
Die Größe des bei der Optimierung von Massen-Einfügeoperationen verwendeten Tree-Caches. Hinweis: Dieser Wert gilt pro Thread!
myisam_max_sort_file_size
Zur Indexerstellung nicht die schnelle Index-Sortiermethode verwenden, wenn die temporäre Datei dadurch größer als dieser Wert würde. Hinweis: Dieser Parameter wird in Bytes angegeben.
myisam_sort_buffer_size
Stellt die Puffergröße für die Wiederherstellung von Tabellen ein.
Wenn Sie mysqld mit der Option
--myisam-recover
starten, wird die automatische
Wiederherstellung aktiviert. Wenn der Server eine
MyISAM
-Tabelle öffnet, prüft er, ob sie als
abgestürzt gekennzeichnet ist oder die Zählervariable für
Öffnungen von 0 verschieden ist und Sie den Server ohne externe
Sperren betreiben. Trifft eine dieser Bedingungen zu, so
geschieht folgendes:
Der Server überprüft die Tabelle auf Fehler.
Wenn der Server einen Fehler findet, versucht er eine schnelle Tabellenreparatur (mit Sortierung, aber ohne Neuerzeugung der Datendatei).
Scheitert die Reparatur wegen eines Fehlers in der Datendatei (zum Beispiel eines doppelten Schlüssels), versucht der Server erneut eine Reparatur, aber dieses Mal mit Neuerzeugung der Datendatei.
Scheitert auch diese Reparatur, versucht es der Server noch einmal mit der alten Reparaturmethode (zeilenweises Schreiben der Daten ohne Sortierung). Dieses Verfahren müsste in der Lage sein, jeden Fehler zu beheben und braucht nur wenig Festplattenspeicher.
Wenn die Wiederherstellung nicht alle Zeilen aus den zuvor
abgeschlossenen Anweisungen wiederherstellen kann und Sie im
Wert der Option --myisam-recover
nicht
FORCE
angegeben haben, bricht die
automatische Reparatur ab und schreibt folgende Fehlermeldung in
das Fehler-Log:
Error: Couldn't repair table: test.g00pages
Wenn Sie FORCE
angeben, wird stattdessen
folgende Warnung in das Log geschrieben:
Warning: Found 344 of 354 rows when repairing ./test/g00pages
Beachten Sie: Wenn die automatische Wiederherstellung den Wert
BACKUP
enthält, legt der
Wiederherstellungsprozess Dateien an, deren Namen die Form
haben. Sie benötigen ein cron-Skript, das
diese Dateien automatisch von den Datenbankverzeichnissen auf
die Sicherungsmedien verschiebt.
tbl_name-datetime
.BAK
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.