Aufgabe
- Das Forum soll zeitgesteuert gesichert und an einem geheimen Ort repliziert werden
Mittel - cron und python
Umsetzung
Links
http://dev.mysql.com/doc/refman/4.0/de/backup.html
- Machen Sie eine komplette Sicherung Ihrer Datenbanken:
shell> mysqldump --tab=/pfad/zum/verzeichnis/ --opt --full oder
shell> mysqlhotcopy datenbank /pfad/zum/verzeichnis/ Sie können auch einfach alle Tabellendateien (*.frm-, *.MYD- und *.MYI-Dateien) kopieren, solange der Server nicht gerade etwas aktualisiert. Das Skript mysqlhotcopy benutzt diese Methode.
- Machen Sie eine komplette Sicherung Ihrer Datenbanken:
- Halten Sie mysqld an, wenn er läuft, und starten Sie ihn mit der --log-update[=datei]-Option. See Abschnitt 5.9.3, „Die Update-Log-Datei“. Die Update-Log-Datei(en) gibt Ihnen die Information, die Sie dafür benötigen, um Änderungen an der Datenbank zu replizieren, die ab dem Zeitpunkt durchgeführt wurden, als Sie mysqldump ausführten.
Wenn Sie etwas wiederherstellen müssen, versuchen Sie zunächst, Ihre Tabellen mit REPAIR TABLE oder myisamchk -r wieder herzustellen. Das sollte in 99,9% aller Fälle funktionieren. Wenn myisamchk fehlschlägt, probieren Sie folgende Prozedur (das funktioniert nur, wenn Sie MySQL mit --log-update gestartet haben. See Abschnitt 5.9.3, „Die Update-Log-Datei“.):
- Stellen Sie die originale mysqldump-Datensicherung wieder her.
- Führen Sie folgenden Befehl aus, um die Aktualisierungen (Updates) im Binär-Log noch einmal laufen zu lassen:
shell> mysqlbinlog hostname-bin.[0-9]* | mysql Wenn Sie das Update-Log benutzen, können Sie folgendes machen:
shell> ls -1 -t -r hostname.[0-9]* | xargs cat | mysql
- Führen Sie folgenden Befehl aus, um die Aktualisierungen (Updates) im Binär-Log noch einmal laufen zu lassen:
repair table sessions;
Linux/MySql/Backup (last modified 2008-11-04 07:00:03)