1. Die mysqldump-Sicherungsmethode verwendet eine logische Sicherung. Der größte Nachteil ist die langsame Sicherungs- und Wiederherstellungsgeschwindigkeit. Für eine 50-Gigabyte-Datenbank ist diese Geschwindigkeit akzeptabel, aber wenn die Datenbank sehr groß ist, ist die Verwendung von mysqdump für die Sicherung nicht sehr geeignet. . Zu diesem Zeitpunkt benötigen Sie ein sehr nützliches und effizientes Tool. Xtraback ist eines davon, bekannt als die kostenlose Version von InnoDB Hotbackup. Die Funktionen von xtraback sind wie folgt:
2. Installieren Sie xtraback 1) Laden Sie xtraback herunter wget https://www.percona.com/downloads/XtraBackup/Percona-XtraBackup-2.4.4/binary/tarball/percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz 2) Entpacken [root@master ~]# tar zxf percona-xtrabackup-2.4.4-Linux-x86_64.tar.gz 3) Gehen Sie in das Entpackverzeichnis und kopieren Sie alle Programme unter bin nach /usr/bin [root@master ~]# cd percona-xtrabackup-2.4.4-Linux-x86_64/ [root@master percona-xtrabackup-2.4.4-Linux-x86_64]# cp bin/* /usr/bin/ Xtraback ist ein Tool für Hot Backup von InnoDB- und XtraDB-Tabellen. Es unterstützt Online-Hot Backup und kann InnoDB-Tabellen sichern, ohne sie zu sperren. Dieses Tool kann jedoch keine Myisam-Engine-Tabellen bedienen. 4) Installieren Sie entsprechende Plug-Ins yum installiere perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL perl-TermReadKey.x86_64 perl-Digest-MD5 –y 5) Percona-Toolkit herunterladen und installieren wget https://www.percona.com/downloads/percona-toolkit/2.2.19/RPM/percona-toolkit-2.2.19-1.noarch.rpm [root@master ~]# rpm -ivh percona-toolkit-2.2.19-1.noarch.rpm Warnung: percona-toolkit-2.2.19-1.noarch.rpm: Header V4 DSA/SHA1-Signatur, Schlüssel-ID cd2efd2a: NOKEY wird vorbereitet... ######################################## [100 %] Aktualisieren/Installieren... 1:percona-toolkit-2.2.19-1 ######################################### [100%] 3. Sicherung Lösung 1: xtrabackup vollständige Sicherung + binlog inkrementelle Sicherung (bin-log muss aktiviert sein) Erstellen Sie ein Backup-Verzeichnis [root@master ~]# mkdir -p /opt/mysqlbackup/{full,inc} Zuerst erstellen wir eine Testdatenbank, erstellen eine Tabelle mit dem Namen tb1 in der Testdatenbank und fügen drei Datenzeilen wie folgt in die Tabelle tb1 ein: Nach dem Einfügen der Daten führen wir eine Vollsicherung wie folgt durch: [root@master ~]# innobackupex --user=root --password=pwd123 /opt/mysqlbackup/full/ Der obige vollständige Sicherungspfad befindet sich im Verzeichnis mysqlbackup, das wir gerade erstellt haben. Die folgende Eingabeaufforderung wird angezeigt, um zu beweisen, dass die Sicherung erfolgreich war Die Sicherungsdateien lauten wie folgt: Bisher ist die vollständige Sicherung vollständig erfolgreich, und dann werden einige Daten in eine MySQL-Datenbank eingefügt, und dann wird eine inkrementelle Sicherung durchgeführt So erstellen Sie nach der vollständigen Sicherung eine inkrementelle Sicherung der Datenbankänderungen im Binärprotokoll: Zeigen Sie die Position des Binlog-Protokolls während der vollständigen Sicherung an: Das Obige ist die Position, nachdem unsere vollständige Sicherung abgeschlossen ist. Wenn wir jetzt Daten einfügen, beginnt es an dieser Position. Wir nennen es inkrementelle Sicherung von dieser Position aus. Jetzt fügen wir Daten wie folgt in die Tabelle tb1 ein: Inkrementelle Sicherung von Binärdateien: [Wurzel@Master ~] # mysqlbinlog --start-position=1279 /usr/local/mysql/data/mysql-bin.000001 > /opt/mysqlbackup/inc/`date +%F`.sql Nach Abschluss der Sicherung simulieren wir Datenbankschäden und versehentliches Löschen wie folgt [root@master ~]# rm -rf /usr/local/mysql/data/* Wiederherstellen der Datenbank Stellen Sie zunächst unser vollständiges Backup wieder her, d. h. die Daten von Tom1/2/3 lauten wie folgt: [root@master ~]#innobackupex --copy-back /opt/mysqlbackup/full/2017-11-21_11-47-42/ Die folgende Eingabeaufforderung scheint zu beweisen, dass die Wiederherstellung erfolgreich war Nachdem die Daten im DATADIR-Verzeichnis wiederhergestellt wurden, müssen Sie außerdem sicherstellen, dass Eigentümer und Gruppe aller Datendateien die richtigen Benutzer sind, z. B. mysql. Andernfalls müssen Sie Eigentümer und Gruppe der Datendateien ändern, bevor Sie mysqld starten. wie: # chown -R mysql:mysql /usr/local/mysql/data/ Starten Sie den MySQL-Dienst neu, um zu sehen, ob die Wiederherstellung erfolgreich ist Aus dem Obigen können wir ersehen, dass die vollständige Sicherung erfolgreich wiederhergestellt wurde. Da wir während der vollständigen Sicherung 3 Datenzeilen eingefügt haben, werden wir die inkrementelle Sicherung wie folgt wiederherstellen: Um zu verhindern, dass während der Wiederherstellung eine große Menge an Binärprotokollen generiert wird, können Sie die Binärprotokolle vor der Wiederherstellung vorübergehend schließen: Anschließend prüfen wir, ob die Wiederherstellung erfolgreich war! An diesem Punkt haben wir alle Daten erfolgreich wiederhergestellt. Das obige mit dem Tool binlog+xtrabackup implementierte Backup scheint etwas problematisch zu sein. Wenn Sie Probleme haben, sehen Sie sich bitte die folgende Lösung 2 an. 2. xtrabackup vollständige Sicherung + xtrabacup inkrementelle Sicherung Vorbereitung der Testumgebung Erstellen Sie eine Testdatenbank und eine Tabelle, in die Sie einige Datenzeilen eingeben können. Erklärung der obigen Vorgänge: Es wurde eine Testbibliothek erstellt, in der Testbibliothek wurde eine xx-Tabelle erstellt und die Daten von tom1 und tom2 wurden in die xx-Tabelle eingefügt. Führen Sie als Nächstes wie folgt eine vollständige Sicherung durch: [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/full/full_incre_$(date +%Y%m%d_%H%M%S) Der schwarze Teil oben ist der Speicherort. Das Folgende zeigt, dass die Sicherung erfolgreich war Zu diesem Zeitpunkt fügen wir die Daten erneut ein und führen eine inkrementelle Sicherung durch Das erste inkrementelle Backup sieht wie folgt aus: [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/inc/inc_incre_$(date +%Y%m%d_%H%M%S) --incremental-basedir=/opt/mysqlbackup/full/full_incre_20171121_123051/ Die folgende Meldung wird angezeigt und zeigt an, dass die Sicherung erfolgreich war! Der obige Sicherungspfad lautet: /opt/mysqlbackup/inc/ Wir können die gesicherten Dateien anzeigen Als nächstes fügen Sie erneut Daten in die xx-Tabelle ein und führen eine zweite inkrementelle Sicherung durch Das zweite inkrementelle Backup sieht wie folgt aus: [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --user=root --password='pwd123' --popt=3306 --backup --target-dir=/opt/mysqlbackup/inc/inc_incre_$(date +%Y%m%d_%H%M%S) --incremental-basedir=/opt/mysqlbackup/inc/inc_incre_20171121_124604/ Die folgende Eingabeaufforderung wird angezeigt, um zu beweisen, dass die Sicherung erfolgreich war Xtrabacup für schrittweise Genesung Um den Effekt zu erzielen, habe ich die xx-Tabelle gelöscht Beginnen Sie mit der Wiederherstellung einer Vollsicherung wie folgt: [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 2. Wiederherstellen des ersten Inkrements (tom3) [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 --incremental-dir=/opt/mysqlbackup/inc/inc_incre_20171121_124604/ 3. Stellen Sie das zweite Inkrement wieder her [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --apply-log-only --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 --incremental-dir=/opt/mysqlbackup/inc/inc_incre_20171121_125202 Stellen Sie die gesamte Bibliothek wieder her [root@master ~]# xtrabackup --defaultes-file=/etc/my.cnf --prepare --user=root --password="pwd123" --target-dir=/opt/mysqlbackup/full/full_incre_20171121_123051 MySQL-Datenbank stoppen - Rsync-Datendatei starten [root@master ~]# systemctl stop mysqld [root@master ~]# cd /opt/mysqlbackup/full/full_incre_20171121_123051/ [root@master full_incre_20171121_123051]# rsync -rvt --exclude 'xtrabackup_checkpoints' --exclude 'xtrabackup_logfile' ./ /usr/local/mysql/data/ Erteilen Sie MySQL-Zugriffsberechtigungen [root@master ~]# chown -R mysql:mysql /usr/local/mysql/data/ Starten Sie den MySQL-Dienst, um zu sehen, ob die Wiederherstellung erfolgreich war Zusammenfassen Oben wird die Methode zur Verwendung von xtraback zum Sichern der MySQL-Datenbank beschrieben. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: So installieren Sie binäres MySQL unter Linux und knacken das MySQL-Passwort
>>: Miniprogramm zur Implementierung des Paging-Effekts
Heute ist mir plötzlich eingefallen, dass es cool ...
Inhaltsverzeichnis 1. Szeneneinführung 2 Code-Opt...
Ab diesem Abschnitt erklären wir das Implementier...
IP-Masquerading und Port-Weiterleitung Firewalld ...
In diesem Artikel finden Sie das grafische Tutori...
Inhaltsverzeichnis Hintergrund Serverabhängigkeit...
Lassen Sie uns zunächst den Netzwerkeinstellungsm...
Vorwort Wenn Sie die Quelle der Website-Besuche z...
In diesem Artikel wird der spezifische JavaScript...
Vorwort Beim Teilen einer Seite hoffen Sie, durch...
Inhaltsverzeichnis 1. MHA 1. Konzept 2. Zusammens...
1. Übersicht Es gibt drei Möglichkeiten, ein Dock...
Inhaltsverzeichnis 1. mysqldump-Befehl zum Sicher...
In manchen Vorstellungsgesprächen werden häufig F...
1. Erzielen Sie den Effekt 2 Wissenspunkte 2.1 &l...