Die Mysqldump-Sicherung hat einige eigene Eigenschaften (Sperrtabelle, sichert im Wesentlichen Einfügeskripte oder Text und unterstützt keine differenzielle Sicherung), sodass sie nicht für Situationen geeignet ist, die eine hohe Echtzeit erfordern Leistung
Xtrabackup kann einige der oben genannten Probleme von mysqldump lösen und wird eher in Produktionsumgebungen verwendet.
In diesem Artikel wird kurz der Sicherungs- und Wiederherstellungsvorgang von Xtrabackup in der MySQL-Datenbank getestet.
Nach dem Prinzip, zuerst die Funktionen auszurollen und dann auf Details einzugehen, haben wir ein Backup und Restore grob umgesetzt, ohne auf Details einzugehen.
Da die Umgebung unterschiedlich ist, müssen einige xtrabackup-Konfigurationsdateien konfiguriert werden.
Aber als ich unter xtrabackup Version 2.4.7 getestet habe, brauchte ich keine Konfigurationsdatei . Die Details können in jeder Version unterschiedlich sein. Achten Sie daher beim Verweisen auf Referenzmaterialien auf die Version und die Umgebung.
innobackupex backup
Die Versionen von xtrabackup und MySQL sind wie folgt
Vollständige Sicherung
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup
Hinweis:
1.--defaults-file=/etc/my.cnf-Datei muss vorne sein
2.--user=root --password=root, --use=** * Zwischen --password=*** muss ein Leerzeichen stehen,
Wie im Screenshot gezeigt, wird die vollständige Sicherung abgeschlossen
Wie gezeigt Im Screenshot erstellt die vollständige Sicherung ein Datum (JJJJ-MM-TT_HH-MM-SS). Der Speicher der vollständigen Sicherung der Datei mit dem Namen
ist eigentlich eine Kopie der Datendatei der gesicherten Datenbank plus Einige während der Sicherung generierte Informationen.
Beispielsweise handelt es sich bei xtrabackup_checkpoints um einige Informationen zur aktuellen Vollsicherung. Diese Informationen sind für die differenzielle Sicherung sehr wichtig.
Differenzielle Sicherung
Der Grund, warum eine differenzielle Sicherung den Unterschied machen kann, liegt darin, dass sie auf der vollständigen Sicherung basiert des vollständigen Backups Differenzielles Backup.
Wie Sie bestimmen, wo nach einer vollständigen Sicherung gesichert werden soll, hängt von der Datei xtrabackup_checkpoints nach der vollständigen Sicherung ab.
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock --incremental /data/backup --incremental -basedir=/data/backup/2017-06-22_13-40-29
Wie im Screenshot gezeigt, ist die differenzielle Sicherung abgeschlossen
Wenn während der differenziellen Sicherung die angegebene Vollsicherungsdatei falsch ist oder die Vollsicherungsdatei nicht angegeben ist, werden Sie feststellen, dass xtrabackup Sie darauf hinweist, dass die Datei xtrabackup_checkpoints nicht gefunden werden kann.
innobackupex-Wiederherstellung
Vorbereitungsphase
1 Stellen Sie die vollständige Sicherung wieder her, d =/var /lib/mysql/mysql.sock
/data/backup/2017-06-22_13-40-29 2, wenden Sie jeweils eine inkrementelle Sicherung auf eine vollständige Sicherung an
innobackupex --defaults - file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock
--incremental /data/backup/2017-06-22_13- 40 -29 --incremental-basedir=/data/backup/2017-06-22_13-41-48
Standardmäßig, wenn Wenn sich eine Datei im Datenpfad befindet, schlägt der Kopiervorgang fehl und die Dateien im Datendateipfad müssen gelöscht werden.
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
Wie im Screenshot gezeigt, vollständiges Zurückkopieren
2. Starten Sie den MySQL-Dienst
Starten Sie den MySQL-Dienst und stellen Sie fest, dass der Start fehlgeschlagen ist
Sehen Sie sich das Fehlerprotokoll an (Startfehler). Nachricht), mysql5.7yum Das standardmäßig installierte Fehlerprotokoll befindet sich in /var/log/mysqld.log und scrollt standardmäßig nicht, was bedeutet, dass alle Fehlermeldungen in dieser Datei aufgezeichnet werden.
Nachdem die Datendatei wiederhergestellt wurde, müssen Sie den Datendateipfad lesen, um Lese- und Schreibberechtigungen zu erteilen.
Autorisieren Sie hier direkt den Datendateipfad 777, chmod -R 777 /var/ lib/mysql Dann starten Sie den MySQL-Dienst und er kann normal starten.
xtrabackupex hat gerade erst begonnen und ich werde sie einzeln überprüfen, wenn ich Zeit habe.
1. Wie kann ich eine einzelne Datenbank (Tabelle) sichern und wiederherstellen? In der tatsächlichen Umgebung sind die Häufigkeit und Methode (Sicherungsplan) der Sicherung für jede Datenbank unterschiedlich?
2. Wie verwende ich ein vollständiges Backup + ein differenzielles Backup und kombiniere es dann mit Binärprotokollen, um eine Point-in-Time-Wiederherstellung durchzuführen?
3. Wie überprüfe ich die Gültigkeit der Sicherungsdatei?
Das obige ist der detaillierte Inhalt vonxtrabackup Sicherung und Wiederherstellung der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!