xtrabackup MySQL-Datenbank sichern und wiederherstellen

xtrabackup MySQL-Datenbank sichern und wiederherstellen

Aufgrund einiger seiner eigenen Merkmale (Sperren von Tabellen, Sichern von Einfügeskripten oder Text im Wesentlichen und keine Unterstützung differenzieller Sicherungen) ist die mysqldump-Sicherung nicht für Situationen mit hohen Echtzeitanforderungen geeignet.
Xtrabackup kann einige der oben genannten Probleme von mysqldump lösen und wird häufiger in Produktionsumgebungen verwendet.
Dieser Artikel testet lediglich die Sicherungs- und Wiederherstellungsvorgänge von Xtrabackup auf der MySQL-Datenbank.

Nach dem Grundsatz, zuerst die Funktionen bereitzustellen und dann in die Details zu gehen, haben wir eine Sicherung und Wiederherstellung grob implementiert, ohne in die Details zu gehen.

Im Internet gibt es viele Artikel zu xtrabackup. Aufgrund der unterschiedlichen Umgebungen erfordern einige davon die Konfiguration von xtrabackup-Konfigurationsdateien.
Aber ich benötige eine Konfigurationsdatei zum Testen unter der Version xtrabackup 2.4.7. Die Details jeder Version können unterschiedlich sein. Achten Sie daher beim Verweisen auf Materialien auf die Version und die Umgebung.

innobackupex-Sicherung

Die Versionen von xtrabackup und MySQL sind wie folgt

Vollständige Sicherung

Kopieren Sie den Code wie folgt:
innobackupex --defaults-file=/etc/my.cnf --user=root --password=root --socket=/var/lib/mysql/mysql.sock /data/backup

veranschaulichen:

1.--defaults-file=/etc/my.cnf Datei muss vorne stehen
2. Zwischen --user=root --password=root, --use=*** und --password=*** muss ein Leerzeichen stehen.

Wie im Screenshot zu sehen, ist die Vollsicherung abgeschlossen

Wie im Screenshot gezeigt, wird bei einer Vollsicherung eine Datei mit Datumsnamen (Jahr-Monat-Tag-Stunde-Minute-Sekunde, jjjj-MM-tt_hh-mm-ss) erstellt. Der durch die Vollsicherung generierte Speicher ist eigentlich eine Kopie der Datendateien der gesicherten Datenbank plus einige während der Sicherung generierte Informationen. Beispielsweise sind xtrabackup_checkpoints einige Informationen zur aktuellen Vollsicherung. Diese Informationen sind für differenzielle Sicherungen sehr wichtig.

Differenzielles Backup

Der Grund, warum differenzielle Sicherungen Unterschiede erzielen können, liegt darin, dass sie auf Vollsicherungen basieren. Es handelt sich um eine differenzielle Sicherung nach Vollsicherung, die auf Vollsicherungen basiert.
Wie Sie nach einer vollständigen Sicherung bestimmen, wo das Backup durchgeführt 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 die angegebene vollständige Sicherungsdatei falsch ist oder während der differenziellen Sicherung keine vollständige Sicherungsdatei angegeben wird, gibt xtrabackup eine Meldung aus, dass die Datei xtrabackup_checkpoints nicht gefunden werden kann.

innobackupex wiederherstellen

Vorbereitung

1. Stellen Sie die vollständige Sicherung wieder her, d. h. das vollständige Anwendungsprotokoll (--apply-log) für die Sicherung innobackupex --defaults-file=/etc/my.cnf --apply-log --redo-only --socket=/var/lib/mysql/mysql.sock /data/backup/2017-06-22_13-40-29

2. Inkrementelle Backups separat auf Voll-Backups anwenden 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

Wenn mehrere differenzielle Backups vorhanden sind, wenden Sie die differenziellen Backups separat auf das vollständige Backup an.

Erholungsphase

1. Nachdem alle differenziellen Sicherungen auf die vollständige Sicherung angewendet wurden, kopieren Sie die wiederhergestellte differenzielle Sicherung in das ursprüngliche Datenverzeichnis. Wenn sich Dateien im Datenpfad befinden, schlägt das Kopieren standardmäßig fehl und die Dateien im Datendateipfad müssen gelöscht werden.
innobackupex --copy-back /data/backup/2017-06-22_13-40-29
Führen Sie den Copy-Back-Vorgang wie im Screenshot gezeigt durch.

2. Starten Sie den MySQL-Dienst

Starten Sie den MySQL-Dienst und stellen Sie fest, dass der Start fehlschlägt

Sehen Sie sich das Fehlerprotokoll an (Informationen zum Startfehler). Das von mysql5.7yum installierte Standardfehlerprotokoll befindet sich in /var/log/mysqld.log und wird standardmäßig nicht gescrollt, was bedeutet, dass alle Fehlermeldungen in dieser Datei aufgezeichnet werden.

Nachdem die Datendatei wiederhergestellt wurde, müssen Sie dem Datendateipfad Lese- und Schreibberechtigungen erteilen. Autorisieren Sie hier direkt den Datendateipfad 777, chmod -R 777 /var/lib/mysql
Starten Sie dann den MySQL-Dienst und er wird normal gestartet.

Ich habe gerade mit der Arbeit an xtrabackupex begonnen, daher sind noch viele Fragen offen. Ich werde sie nacheinander überprüfen, wenn ich Zeit habe.

1. Wie kann ich eine einzelne Datenbank (Tabelle) sichern und wiederherstellen? Sind in der tatsächlichen Umgebung die Häufigkeit und Methode (Sicherungsplan) jeder Datenbanksicherung unterschiedlich?

2. Wie verwende ich eine vollständige Sicherung + eine differenzielle Sicherung und kombiniere dann Binärprotokolle, um eine zeitpunktbasierte Wiederherstellung durchzuführen?

3. Wie kann ich die Gültigkeit von Sicherungsdateien überprüfen?

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Tutorial zur Installation und Verwendung von Percona XtraBackup zum Sichern und Wiederherstellen von MySQL
  • Sichern und Wiederherstellen mit dem Tool Xtrabackup (ein unverzichtbares Tool für MySQL DBA)
  • MySQL Xtrabackup - gemeinsame Nutzung der Backup- und Wiederherstellungsimplementierung
  • Detaillierte Erklärung des MySQL-Sicherungsprozesses mit Xtrabackup
  • MySQL verwendet xtrabackup für Sicherungs- und Wiederherstellungsvorgänge
  • Verwenden von xtrabackup zum Implementieren einer MySQL-Sicherung
  • Tutorial zum Schreiben von Skripten zur Verwendung von Xtrabackup zum Sichern von MySQL-Daten
  • Tutorial zur Verwendung von innobackupex und xtrabackup zum Sichern und Wiederherstellen großer Datenmengen in MySQL
  • So verwenden Sie Xtrabackup zum Sichern und Wiederherstellen von MySQL

<<:  Das praktische Gitlab-Tutorial verwendet Git Config für zugehörige Konfigurationsvorgänge

>>:  Beispielcode zum Hervorheben von Suchbegriffen im WeChat-Miniprogramm

Artikel empfehlen

Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile

Inhaltsverzeichnis 1. Ternäres Operatorurteil 2. ...

Zusammenfassung der Docker-Datenspeicherung

Bevor Sie diesen Artikel lesen, hoffe ich, dass S...

Detaillierte Erklärung des Unterschieds zwischen Tags und Elementen in HTML

Ich glaube, dass es vielen Freunden, die sich mit ...

So zeigen Sie Anwendungsprotokolle von Docker-Containern an

Docker-Attach-Befehl docker attach [options] 容器st...

Installations-Tutorial für die komprimierte Version von MySQL 5.7.18 Archiv

In diesem Artikel wird die spezifische Methode zu...

Zusammenfassung der Verwendung von JavaScript JSON.stringify()

Inhaltsverzeichnis 1. Nutzung 1. Grundlegende Ver...

So verwenden Sie async await elegant in JS

Inhaltsverzeichnis $.ajax von jQuery Der Beginn d...

Lösung für das img-Tag-Problem unter IE10

Finden Sie das Problem Ich habe vorher eine einfa...

Anwendungsbeispiele für React Hooks

Inhaltsverzeichnis Ein einfaches Komponentenbeisp...