Kapitel 5: MySQL-Datenbankadministration 217
die erste Zeile Ihres Skripts gelesen und (f¨alschlicherweise) als Ihr Passwort interpretiert
wird!
• Sie k¨onnen Ihr Passwort in einer Konfigurationsdatei speichern. Beispielsweise k¨onnen
Sie Ihr Passwort im [client]-Abschnitt der ‘.my.cnf’-Datei in Ihrem Heimatverze-
ichnis auff¨uhren:
[client]
password=ihr_passwort
Wenn Sie Ihr Passwort in ‘.my.cnf’ speichern, sollte die Datei nicht f¨ur die Gruppe
(group) lesbar oder schreibbar sein. Stellen Sie sicher, dass der Zugriffsmodus der Datei
400 oder 600 ist.
Siehe Abschnitt 5.1.2 [Option files], Seite 175.
• Sie k¨onnen Ihr Passwort in der MYSQL_PWD-Umgebungsvariablen speichern, aber diese
Methode wird als extrem unsicher erachtet und sollte nicht gew¨ahlt werden. Einige
Versionen von ps beinhalten eine Option, die Umgebung laufender Prozesse anzeigen
zu lassen; Ihr Passwort w¨urde dann f¨ur alle im Klartext lesbar sein, wenn Sie MYSQL_
PWD setzen. Selbst auf Systemen ohne eine solche Version von ps ist es nicht ratsam,
anzunehmen, dass es keine andere Methode gibt, Prozessumgebungen einzusehen. Siehe
Anhang E [Environment variables], Seite 707.
Alles in allem sind die sichersten Methoden, das Passwort entweder durch Client-
Programm entgegen nehmen zu lassen o der es in einer sauber a/jointfilesconvert/293675/bgesicherten
‘.my.cnf’-Datei einzugeben.
5.4 Katastrophenschutz und Wiederherstellung
5.4.1 Datenbank-Datensicherungen
Weil MySQL-Tabellen als Dateien gespeichert werden, ist es leicht, eine Datensicherung
durchzuf¨uhren. Um eine konsistente Datensicherung zu erhalten, machen Sie ein LOCK
TABLES auf die relevanten Tabellen, gefolgt von FLUSH TABLES f¨ur die Tabellen. Siehe
Abschnitt 7.7.2 [LOCK TABLES], Seite 471. Siehe Abschnitt 5.5.3 [FLUSH], Seite 241. Sie
brauchen lediglich eine Lesesperre (Read Lock); das erlaubt anderen Threads, die Tabellen
weiterhin abzufragen, w¨ahrend Sie eine Kopie der Dateien im Datenbank-Verzeichnis
machen. FLUSH TABLE wird ben¨otigt, um sicherzustellen, dass alle aktiven Indexseiten auf
Platte zur¨uck geschrieben werden, bevor Sie die Datensicherung beginnen.
Wenn Sie eine Tabellensicherung auf SQL-Ebene machen wollen, k¨onnen Sie SELECT INTO
OUTFILE oder BACKUP TABLE benutzen. Siehe Abschnitt 7.4.1 [SELECT], Seite 435. Siehe
Abschnitt 5.4.2 [BACKUP TABLE], Seite 218.
Eine weitere M¨oglichkeit, eine Datenbank zu sichern, stellt die Benutzung des
mysqldump-Programms oder des mysqlhotcopy-Skripts dar. Siehe Abschnitt 5.8.5
[mysqldump], Seite 292. Siehe Abschnitt 5.8.6 [mysqlhotcopy], Seite 296.
1. Machen Sie eine komplette Sicherung Ihrer Datenbanken:
shell> mysqldump --tab=/pfad/zum/verzeichnis/ --opt --full
Comentarios a estos manuales