Gibt es Techniken, um mit mysqldump (oder einem ähnlichen Befehl) inkrementelle oder differenzielle Sicherungen für MySQL zu erstellen?
Gibt es Techniken, um mit mysqldump (oder einem ähnlichen Befehl) inkrementelle oder differenzielle Sicherungen für MySQL zu erstellen?
Antworten:
Sie können eine inkrementelle Sicherung simulieren, indem Sie die Binärprotokolle aktivieren und anschließend sichern. Siehe http://dev.mysql.com/doc/refman/5.1/en/backup-methods.html unter "Inkrementelle Sicherungen durch Aktivieren des Binärprotokolls erstellen".
Kasse Xtrabackup (von Percona), wenn Sie InnoDB verwenden. Es kann inkrementelle Aktionen ausführen.
http://www.percona.com/docs/wiki/percona-xtrabackup:xtrabackup:incremental?rev=1289183209
Prost
Ich verwende Binlogs, aber sie sind keine ultimative Lösung, und ich verlasse mich auch auf Schnappschüsse.
Dafür gibt es zwei Hauptgründe:
Ich hatte kürzlich eine große Anzahl von Schnappschüssen, die weder komprimiert noch differenziell waren. Ich habe mit diff experimentiert und festgestellt, dass selbst mit Optionen wie keinem Kontext die resultierenden Unterschiede größer waren.
Ohne alle Alternativen auszuprobieren, war das Beste, was ich fand, rdiff. Dies reduzierte sie für mich auf ungefähr 5% der Größe und wenn sie dann mit xz in die 1% -Zone komprimiert wurden.
Obwohl die rdiff-Signaturdateien nicht gut komprimiert werden, da es sich um Hash-Sammlungen handelt (wie zufällige Daten), sollte das Komprimieren gegeneinander gute Ergebnisse liefern.
Viele Benutzer benötigen keine solche Lösung, da sie in den meisten Fällen bei einem Fehler die Datenbank mit dem neuesten Bild speichern und so schnell wie möglich auf den neuesten Stand bringen müssen.
Wenn Sie jedoch ein komplexes System haben, das viel Buchhaltung, Prüfung, Debugging usw. erfordert (kritischere Dinge als ein Blog), wird die effiziente Speicherung von Schnappschüssen wichtig.
Überprüfen Sie das Skript https://sourceforge.net/projects/mysqlincrementalbackup/ . Eine inkrementelle Backup-Lösung für MyISAM und Innodb.