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

Grundlegende Befehle für MySQL-Datenbankoperationen

1. Erstellen Sie eine Datenbank: Daten erstellen ...

Detaillierte Erläuterung des Installationsprozesses von Jenkins auf CentOS 7

Installieren Sie Jenkins über Yum 1. Installation...

Einfaches Tutorial zu den Firewall-Einstellungen unter Ubuntu 20.04 (Anfänger)

Vorwort In der heutigen, immer bequemeren Interne...

Chinesische Lösung und Beispielcode für die MySQL-Volltextsuche

MySQL-Volltextsuche, chinesische Lösung Kürzlich ...

Rückgängigmachen der Anmeldung in MySQL

Konzepteinführung: Wir wissen, dass das Redo-Log ...

Vue implementiert Ankerpositionierungsfunktion

In diesem Artikelbeispiel wird der spezifische Co...

Eine kurze Zusammenfassung meiner Erfahrungen beim Schreiben von HTML-Seiten

Es sind drei oder vier Monate vergangen, seit ich ...

JavaScript zum Erzielen eines Skin-Effekts (Ändern des Hintergrunds)

In diesem Artikel wird der spezifische JavaScript...

JavaScript entfernt unnötige Eigenschaften eines Objekts

Inhaltsverzeichnis Beispiel Methode 1: Löschen Me...