Heim  >  Artikel  >  Datenbank  >  xtrabackup Sicherung und Wiederherstellung der MySQL-Datenbank

xtrabackup Sicherung und Wiederherstellung der MySQL-Datenbank

巴扎黑
巴扎黑Original
2017-06-23 11:07:591358Durchsuche

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

Wenn mehrere differenzielle Sicherungen vorhanden sind, wenden Sie die an Unterschiede separat Backup zu Voll-Backup.

Wiederherstellungsphase

1. Nachdem Sie alle differenziellen Sicherungen auf die vollständige Sicherung angewendet haben, kopieren Sie die wiederhergestellte differenzielle Sicherung in das ursprüngliche Datenverzeichnis.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn