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

Beispiel für automatischen Stoppeffekt nach Text-Scrollen

Die Wirkung ist ganz einfach: Kopieren Sie einfach...

Eine vollständige Liste häufig verwendeter HTML-Tags und ihrer Eigenschaften

Zunächst müssen Sie einige Eigenschaften von HTML...

So fragen Sie Daten aus mehreren unabhängigen Tabellen und Paging in MySQL ab

Mysql mehrere unabhängige Tabellen Abfragedaten u...

JavaScript zum Erzielen eines Zeitlupenanimationseffekts

In diesem Artikel wird der spezifische Code für J...

Tutorial zur Installation und Konfiguration von MySQL 5.7 unter CentOS7 (YUM)

Installationsumgebung: CentOS7 64-Bit, MySQL5.7 1...

So ändern Sie den Standardspeicherort von Docker-Images (Lösung)

Aufgrund der anfänglichen Partitionierung des Sys...

So installieren Sie Oracle_11g mit Docker

Installieren Sie Oracle_11g mit Docker 1. Ziehen ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5.27 winx64

1. Installationspaket MySQL-Dienst-Downloadadress...

W3C Tutorial (4): W3C XHTML Aktivitäten

HTML ist eine Hybridsprache, die zum Veröffentlic...

JS + Canvas realisiert dynamischen Uhreffekt

Eine auf Canvas basierende Demo einer dynamischen...

Webdesign-Tipps: Einfache Regeln für das Seitenlayout

Wiederholung: Wiederholen Sie bestimmte Seitendes...

Lösen Sie das Installationsproblem der mysql8.0.19 Winx64-Version

MySQL ist ein kleines relationales Open-Source-Da...

Tiefgreifendes Verständnis des Vue-Übergangs und der Animation

1. Wenn Sie DOM-Elemente einfügen, aktualisieren ...