Hot Backups mit Percona XtraBackup in der One-Click WordPress App

Inhaltsverzeichnis

  • Einführung
  • Voraussetzungen
  • Schritt 1: Erstellen Sie einen Benutzer ohne Root-System
  • Schritt 2: Überprüfen Sie die Speicher-Engine
  • Schritt 3: Erstellen Sie einen Datenbankbenutzer für die Sicherung
  • Schritt 4: Installieren Sie Percona XtraBackup
  • Schritt 5: Erstellen Sie Sicherungsspeicherverzeichnisse
  • Schritt 6: Erstellen Sie die erste vollständige Sicherung
  • Schritt 7: Erstellen Sie die folgenden inkrementellen Sicherungen
  • Schritt 8: Bereiten Sie Sicherungsdateien für die Wiederherstellung der Datenbank vor
  • Schritt 9: Datenbank wiederherstellen
  • Weitere Schritte

Einführung

Percona XtraBackup ist ein kostenloses MySQL-basiertes Programm zum Erstellen heißer Backups. Es ist auch Open-Source. Mit Percona XtraBackup können Sie Hot-Backups von MySQL-, MariaDB- oder Percona Server-Datenbanken erstellen, ohne Ihren Datenbankdienst zu stoppen oder schreibgeschützt zu machen. Dies ist eine geschäftskritische Funktion für viele Online-Unternehmen.

Bei Datenbanken mit InnoDB-, XtraDB- und HailDB-Speicher-Engines kann Percona XtraBackup nicht blockierende Sicherungen durchführen. Bei Datenbanken mit MyISAM-, Merge- und Archive-Speicher-Engines kann Percona XtraBackup auch Sicherungen durchführen, indem die Schreibvorgänge am Ende des Sicherungsvorgangs kurz angehalten werden.

In diesem Artikel werde ich Ihnen zeigen, wie Sie Percona XtraBackup installieren und verwenden, um vollständige und inkrementelle Hot-Backups auf einem Vultr-Server basierend auf der One-Click-WordPress-Anwendung durchzuführen. Wir führen eine vollständige Sicherung und zwei inkrementelle Sicherungen durch und stellen dann die Datenbank entsprechend auf den Status jeder der drei Sicherungen zurück.

Voraussetzungen

Ich gehe davon aus, dass Sie eine One-Click-WordPress-Vultr-Serverinstanz von Grund auf neu bereitgestellt und sich mit SSH als Root angemeldet haben.

Schritt 1: Erstellen Sie einen Benutzer ohne Root-System

Aus Sicherheitsgründen wird empfohlen, ein anderes Benutzerkonto mit Root-Berechtigungen zu erstellen und es dann zum Anmelden und Ausführen Ihrer täglichen Vorgänge auf dem System zu verwenden. Mit dem sudoBefehl können Sie immer noch fast alle Superuser-Befehle ausführen .

1) Erstellen Sie einen neuen Benutzer. Ersetzen Sie sysuserdurch Ihren eigenen Benutzernamen.

useradd sysuser

2) Legen Sie das Passwort für Ihren neuen Benutzer fest. Ersetzen Sie sysuserdurch Ihren eigenen Benutzernamen.

passwd sysuser

3) Gewähren Sie Ihrem neuen Benutzer Root-Berechtigungen.

visudo

Finden Sie den folgenden Absatz.

## Allow root to run any commands anywhere
root     ALL=(ALL)     ALL

Fügen Sie eine Zeile direkt unter diesem Absatz hinzu und ersetzen Sie sie sysuserdurch Ihren eigenen Benutzernamen.

sysuser     ALL=(ALL)     ALL

Speichern und Beenden.

:wq

4) Wechseln Sie zu Ihrem neuen Benutzerkonto.

logout

Verwenden Sie dann die Anmeldeinformationen des neuen Benutzers, um sich über Ihr Terminalfenster anzumelden.

Schritt 2: Überprüfen Sie die Speicher-Engine

Standardmäßig wird die MySQL-Root-Anmeldung auf dem VPS in gespeichert /root/.my.cnf. Zeigen Sie das Passwort in Ihrem Terminal mit dem folgenden Befehl an.

sudo cat /root/.my.cnf

Verwenden Sie die auf dem Bildschirm angezeigten Anmeldeinformationen, um sich bei der MySQL-Konsole anzumelden.

mysql -u root -p

Führen Sie in der MySQL-Shell Folgendes aus.

SHOW DATABASES;

Alle MySQL-Datenbanken wurden auf dem Bildschirm angezeigt. Die Datenbank mit dem Namen like wp5273512ist die WordPress-Datenbank, die wir sichern möchten. Ersetzen wp5273512Sie im folgenden Befehl Ihren eigenen:

USE wp5273512;

Überprüfen Sie die Speicher-Engine für jede Tabelle:

SHOW TABLE STATUS\G

Sie werden feststellen, dass alle Tabellen in Ihrer WordPress MySQL-Datenbank die InnoDB-Speicher-Engine verwenden, die sich perfekt für Hot-Backups mit Percona XtraBackup eignet.

Für alle anderen MySQL-Datenbanken, die die MyISAM-Speicher-Engine verwenden, können wir sie weiterhin mit Percona XtraBackup sichern, indem wir die Schreibvorgänge kurz anhalten.

Schritt 3: Erstellen Sie einen Datenbankbenutzer für die Sicherung

Verwenden Sie weiterhin in der MySQL-Shell die folgenden Befehle, um einen dedizierten Datenbankbenutzer für die Sicherung zu erstellen. Denken Sie daran, den Datenbank-Benutzernamen xbuserund das Passwort xbpasswddurch Ihre eigenen zu ersetzen :

CREATE USER 'xbuser'@'localhost' IDENTIFIED BY 'xbpasswd';
GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT, CREATE TABLESPACE, PROCESS, SUPER, CREATE, INSERT, SELECT ON *.* TO 'xbuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Die oben gewährten Berechtigungen sind für die volle Percona XtraBackup-Funktionalität erforderlich. Sie können einige davon entfernen, um weniger Funktionalität und mehr Sicherheit zu gewährleisten. Weitere Informationen finden Sie auf der offiziellen Website von Percona XtraBackup .

Schritt 4: Installieren Sie Percona XtraBackup

Sie können Percona XtraBackup ganz einfach aus dem RPM-Repository von Percona installieren:

sudo yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
sudo yum install -y percona-xtrabackup

Schritt 5: Erstellen Sie Sicherungsspeicherverzeichnisse

Zuerst müssen Sie einen Benutzer sysuserzur mysqlGruppe hinzufügen . Ersetzen Sie sysuserdurch Ihren eigenen Benutzernamen.

sudo gpasswd -a sysuser mysql

Erstellen Sie ein Verzeichnis zum Speichern vollständiger Sicherungen.

sudo mkdir -p /dbbackup/full/

Erstellen Sie ein anderes Verzeichnis zum Speichern inkrementeller Sicherungen.

sudo mkdir -p /dbbackup/inc/

Ändern Sie den Eigentümer dieser Verzeichnisse in Benutzer sysuserund Gruppe sysuser.

sudo chown -R sysuser:sysuser /dbbackup

Melden Sie sich ab, um diese Änderungen zu übernehmen.

logout

Melden Sie sich dann sysusererneut mit an.

Schritt 6: Erstellen Sie die erste vollständige Sicherung

XtraBackup besteht hauptsächlich aus dem XtraBackup-Programm und dem innobackupexPerl-Skript. Normalerweise können Sie das innobackupexPerl-Skript verwenden, um verschiedene Betriebsverfahren zur Vereinfachung auszuführen.

Geben Sie den folgenden Befehl ein, um die erste vollständige Sicherung zu erstellen. Denken Sie daran, den Datenbankbenutzernamen xbuser, das Datenbankbenutzerkennwort xbpasswdund das vollständige Sicherungsverzeichnis /dbbackup/full/durch Ihre eigenen zu ersetzen .

sudo innobackupex --user=xbuser  --password=xbpasswd /dbbackup/full/

Wenn dieser Befehl korrekt ausgeführt wird, wird die Bestätigungsmeldung "innobackupex: erledigt OK!" Angezeigt. in der letzten Zeile der Ausgabe.

Alle neu erstellten Dateien dieser vollständigen Sicherung werden in einem Verzeichnis mit Zeitstempel unter gespeichert /dbbackup/full/. Zum Beispiel /dbbackup/full/2015-05-22_05-45-54.

Schritt 7: Erstellen Sie die folgenden inkrementellen Sicherungen

Geben Sie den folgenden Befehl ein, um die erste inkrementelle Sicherung zu erstellen. Ersetzen Sie die Variablen im Befehl entsprechend.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/full/2015-05-22_05-45-54 /dbbackup/inc/

Wieder sehen Sie "innobackupex: OK abgeschlossen!" am Ende der Ausgabe, wenn der Befehl erfolgreich ausgeführt wird. Die Sicherungsdateien werden in einem Verzeichnis mit Zeitstempel unter gespeichert /dbbackup/inc/.

Geben Sie den folgenden Befehl ein, um die zweite inkrementelle Sicherung zu erstellen. Ersetzen Sie die Variablen im Befehl entsprechend.

sudo innobackupex --user=xbuser  --password=xbpasswd --incremental --incremental-basedir=/dbbackup/inc/2015-05-22_05-48-12 /dbbackup/inc/

Nach dem Erfolg sehen Sie das "innobackupex: OK abgeschlossen!" Nachricht erneut. Überprüfen Sie den /dbbackup/inc/Ordner erneut, um die Sicherungsdateien anzuzeigen.

Schritt 8: Bereiten Sie Sicherungsdateien für die Wiederherstellung der Datenbank vor

Alle Datenbanksicherungsdateien müssen vorbereitet werden, bevor sie zum Wiederherstellen der Datenbank verwendet werden können.

Hinweis : Bevor Sie die Vorbereitungs- und Wiederherstellungsverfahren ausführen, sollten Sie eine Kopie des gesamten Sicherungsverzeichnisses (z. B. /dbbackup/) an einem anderen Ort aufbewahren, falls die Sicherung der Dateien versehentlich beschädigt wird.

In jedem Sicherungsverzeichnis befindet sich eine Datei mit dem Namen, xtrabackup_checkpointsdie den Sicherungstyp sowie die Anfangs- und Endprotokollsequenznummern ( from_lsnund to_lsn) enthält. Sie können diese Zahlen verwenden, um Ihre Datenbankwiederherstellungsstrategie zu verdeutlichen. Schauen Sie sich die folgenden Beispiele an.

In der xtrabackup_checkpointsDatei der ersten vollständigen Sicherung habe ich:

backup_type = full-backuped
from_lsn = 0
to_lsn = 2932478

In der xtrabackup_checkpointsDatei der ersten inkrementellen Sicherung habe ich:

backup_type =incremental
from_lsn = 2932478
to_lsn = 2970177

In der xtrabackup_checkpointsDatei der zweiten inkrementellen Sicherung habe ich:

backup_type = incremental
from_lsn = 2970177
to_lsn = 3004672

Kurz gesagt, Sie sollten jedes Backup mit der zunehmenden Reihenfolge von lsn angehen. Wenn die lsn-Sequenz unvollständig oder ungeordnet ist, können Daten verloren gehen.

Hinweis : Die folgenden Befehle umfassen drei Verzeichnisse. Ersetzen Sie sie durch Ihre eigenen.

Um die Datenbank auf den Status der ersten vollständigen Sicherung zurückzusetzen, müssen Sie die Sicherungsdateien mit dem folgenden Befehl vorbereiten:

sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Um die Datenbank auf den Status der ersten inkrementellen Sicherung zurückzusetzen, müssen Sie die Sicherungsdateien mit den folgenden Befehlen vorbereiten:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Um die Datenbank auf den Status der zweiten inkrementellen Sicherung zurückzusetzen, müssen Sie die Sicherungsdateien mit den folgenden Befehlen vorbereiten:

sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54
sudo innobackupex --apply-log --redo-only /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-48-12
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54 --incremental-dir=/dbbackup/inc/2015-05-22_05-51-32
sudo innobackupex --apply-log /dbbackup/full/2015-05-22_05-45-54

Anmerkungen :

Für inkrementelle Sicherungen sollten Sie die --redo-onlyOption für alle außer der letzten inkrementellen Sicherung verwenden. Die Verwendung dieser Option bei der letzten inkrementellen Sicherung ist jedoch für die Konsistenz Ihrer Daten immer noch unbedenklich. Aufgrund des Datenbank-Rollbacks kommt es nur zu Verzögerungen.

Der letzte Befehl jedes inkrementellen Szenarios ist optional, wird jedoch empfohlen, da er die Wiederherstellung beschleunigt.

Nach der Vorbereitung werden die in den inkrementellen Sicherungsdateien aufgezeichneten Änderungen an die vorbereiteten vollständigen Basissicherungsdateien angehängt. Verwenden Sie daher immer die vorbereiteten vollständigen Sicherungsdateien, um Ihre Datenbank wiederherzustellen, unabhängig davon, ob Sie eine vollständige Sicherung oder eine inkrementelle Sicherung auswählen.

Schritt 9: Datenbank wiederherstellen

Bevor Sie Ihre Datenbank wiederherstellen können, müssen Sie den Datenbankdienst beenden.

sudo service mysqld stop

Sie müssen auch das Datenbankverzeichnis leeren. Sie können die aktuellen Datenbankdateien vorsorglich an einen anderen Ort verschieben.

sudo mkdir /currentdb
sudo mv /var/lib/mysql/* /currentdb

Stellen Sie Ihre Datenbank mit den vorbereiteten "vollständigen Sicherungs" -Dateien wieder her.

sudo innobackupex --copy-back /dbbackup/full/2015-05-22_05-45-54

Da durch die Wiederherstellungsprozedur der Eigentümer des Datenbankverzeichnisses geändert wird, müssen Sie es wieder ändern mysql:mysql, um es betriebsbereit zu machen.

sudo chown -R mysql:mysql /var/lib/mysql

Starten Sie den Datenbankdienst neu.

sudo service mysqld start

Das ist es. Zu diesem Zeitpunkt können Sie Ihre WordPress-Site besuchen, um zu überprüfen, ob der Wiederherstellungsprozess erfolgreich war.



Leave a Comment

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Kann KI mit zunehmender Anzahl von Ransomware-Angriffen kämpfen?

Ransomware-Angriffe nehmen zu, aber kann KI helfen, den neuesten Computervirus zu bekämpfen? Ist KI die Antwort? Lesen Sie hier, ob KI boone oder bane ist

ReactOS: Ist das die Zukunft von Windows?

ReactOS: Ist das die Zukunft von Windows?

ReactOS, ein quelloffenes und kostenloses Betriebssystem, ist hier mit der neuesten Version. Kann es den Anforderungen moderner Windows-Benutzer genügen und Microsoft zu Fall bringen? Lassen Sie uns mehr über dieses alte, aber neuere Betriebssystem erfahren.

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Bleiben Sie in Verbindung über die WhatsApp Desktop App 24*7

Whatsapp hat endlich die Desktop-App für Mac- und Windows-Benutzer auf den Markt gebracht. Jetzt können Sie ganz einfach von Windows oder Mac auf WhatsApp zugreifen. Verfügbar für Windows 8+ und Mac OS 10.9+

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Wie kann KI die Prozessautomatisierung auf die nächste Stufe heben?

Lesen Sie dies, um zu erfahren, wie Künstliche Intelligenz bei kleinen Unternehmen beliebt wird und wie sie die Wahrscheinlichkeit erhöht, sie wachsen zu lassen und ihren Konkurrenten einen Vorsprung zu verschaffen.

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

macOS Catalina 10.15.4 Supplement Update verursacht mehr Probleme als sie zu lösen

Vor kurzem hat Apple macOS Catalina 10.15.4 als Ergänzungsupdate veröffentlicht, um Probleme zu beheben, aber es scheint, dass das Update mehr Probleme verursacht, die zum Bricking von Mac-Computern führen. Lesen Sie diesen Artikel, um mehr zu erfahren

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

13 Tools zur kommerziellen Datenextraktion von Big Data

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Was ist ein Journaling-Dateisystem und wie funktioniert es?

Unser Computer speichert alle Daten in einer organisierten Weise, die als Journaling-Dateisystem bekannt ist. Es ist eine effiziente Methode, die es dem Computer ermöglicht, Dateien zu suchen und anzuzeigen, sobald Sie auf die Suche klicken.https://wethegeek.com/?p=94116&preview=true

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Technologische Singularität: Eine ferne Zukunft der menschlichen Zivilisation?

Da sich die Wissenschaft schnell weiterentwickelt und einen Großteil unserer Bemühungen übernimmt, steigt auch das Risiko, uns einer unerklärlichen Singularität auszusetzen. Lesen Sie, was Singularität für uns bedeuten könnte.

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Ein Einblick in 26 Big-Data-Analysetechniken: Teil 1

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

Der Einfluss künstlicher Intelligenz im Gesundheitswesen 2021

KI im Gesundheitswesen hat in den letzten Jahrzehnten große Fortschritte gemacht. Somit wächst die Zukunft der KI im Gesundheitswesen immer noch von Tag zu Tag.