Kapitel 5: MySQL-Datenbankadministration 305
Die Anfragen-Log-Datei f¨ur langsame Anfragen kann benutzt werden, um Anfragen zu
finden, die f¨ur die Ausf¨uhrung lange Zeit ben¨otigen und daher Kandidaten f¨ur Optimierun-
gen sind, was bei einer großen Log-Datei allerdings eine schwierige Aufgabe werden kann. Sie
k¨onnen die Anfragen-Log-Datei f¨ur langsame Anfragen durch den mysqldumpslow-Befehl
durchschleifen (pipen), um eine Zusammenfassung der Anfragen zu erhalten, die in der
Log-Datei erscheinen.
Wenn Sie --log-long-format benutzen, erscheinen auch Anfragen, die keine Indexe be-
nutzen. Siehe Abschnitt 5.1.1 [Command-line options], Seite 170.
5.9.6 Wartung und Pflege der Log-Dateien
MySQL hat viele Log-Dateien, die es leicht machen festzustellen, was vor sich geht. Siehe
Abschnitt 5.9 [Log Files], Seite 301. Von Zeit zu Zeit jedoch muss man hinter MySQL
saubermachen, damit die Log-Dateien nicht zu viel Festplattenplatz in Anspruch nehmen.
Wenn Sie MySQL mit Log-Dateien benutzen, werden Sie von Zeit zu Zeit alte Log-Dateien
entfernen wollen und MySQL mitteilen, in neue Dateien zu loggen. Siehe Abschnitt 5.4.1
[Backup], Seite 217.
Bei einer Linux-(RedHat)-Installation k¨onnen Sie hierf¨ur das mysql-log-rotate-Skript be-
nutzen. Wenn Sie MySQL von einer RPM-Distribution installiert haben, sollte das Skript
automatisch installiert worden sein. Beachten Sie, dass Sie damit vorsichtig umgehen soll-
ten, wenn Sie die Log-Datei f¨ur Replikation benutzen!
Auf anderen Systemen m¨ussen Sie selbst ein kurzes Skript installieren, dass Sie von cron
starten k¨onnen, um Log-Dateien zu handhaben.
Sie k¨onnen MySQL zwingen, mit neuen Log-Dateien zu starten, indem Sie mysqladmin
flush-logs oder den SQL-Befehl FLUSH LOGS benutzen. Wenn Sie MySQL-Version 3.21
benutzen, m¨ussen Sie mysqladmin refresh benutzen.
Der obige Befehl macht folgendes:
• Wenn standardm¨aßiges Loggen (--log) oder Loggen langsamer Anfragen (--log-
slow-queries) benutzt wird, wird die Log-Datei geschlossen und wieder ge¨offnet
(‘mysql.log’ und ‘‘hostname‘-slow.log’ als Vorgabe).
• Wenn Update-Logging (--log-update) benutzt wird, wird die Update-Log-Datei
geschlossen und eine neue Log-Datei mit einer h¨oheren Log-Zahl ge¨offnet.
Wenn Sie nur eine Update-Log-Datei benutzen, m¨ussen Sie die Log-Dateien nur auf Platte
zur¨uckschreib en (flush) und dann die alten Update-Log-Datei-Dateien zu einer Daten-
sicherungsdatei verschieben. Wenn Sie normales Loggen benutzen, k¨onnen Sie etwas wie
das Folgende tun:
shell> cd mysql-data-verzeichnis
shell> mv mysql.log mysql.old
shell> mysqladmin flush-logs
Und dann eine Datensicherung nehmen und ‘mysql.old’ entfernen.
Kommentare zu diesen Handbüchern