MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

So sichern Sie Ihre Moodle MariaDB-Datenbank

Zuvor hatten wir über das Sichern Ihrer Moodle-MySQL-Datenbank gebloggt. Dieses Mal dreht sich alles um die Sicherung Ihrer Moodle MariaDB-Datenbank. Tatsächlich wird beim Sichern Ihrer Moodle-MySQL-Datenbank derselbe Ansatz wie bei Ihrer Moodle-MariaDB-Datenbank verwendet. Seit MariaDB 10.2 weicht es jedoch langsam ab und weist weiterhin drastische Unterschiede zur MySQL-Version auf. Achten Sie in diesem Zusammenhang auf Vorgehensweisen, die Sie möglicherweise berücksichtigen müssen, wenn Sie Ihre MariaDB sichern, im Gegensatz zu MySQL, wenn Sie davon stammen.

Best Practices für die Erstellung Ihrer Moodle MariaDB-Sicherung

Befassen wir uns zuerst mit diesem Thema. Das Erstellen eines Backups für Ihre Moodle-Daten muss die Best Practices für Ihr MariaDB-Backup anwenden, da dies Ihnen Sicherheit und Gewissheit bietet, insbesondere wenn in unvorhersehbaren Situationen eine Katastrophe oder Katastrophe eintritt.

Also, was hat es damit auf sich? Das Erstellen eines Backups für Ihr Moodle hat mindestens mit den folgenden Backups zu tun:

  • Logische Sicherung
  • Physische Kopie Ihres Backups
  • Point-in-Time (inkrementelle) Wiederherstellung

Logische Sicherung

Eine logische Datensicherung wird in einem für Menschen lesbaren Format wie SQL gespeichert. Logische Sicherungen speichern Informationen, die als logische Datenbankstruktur (CREATE DATABASE-, CREATE TABLE-Anweisungen) und Inhalt (INSERT-Anweisungen oder durch Trennzeichen getrennte Textdateien) dargestellt werden. Diese Art der Sicherung eignet sich für kleinere Datenmengen, bei denen Sie möglicherweise die Datenwerte oder die Tabellenstruktur bearbeiten oder die Daten auf einer anderen Maschinenarchitektur neu erstellen. Wenn Sie dazu neigen, eine große Datenbanksicherung zu verwenden, stellen Sie sicher, dass die Komprimierung aktiviert ist. Vorsicht, da dies besonders viel Speicherplatz beanspruchen kann.

In MariaDB ist mysqldump ein häufig zu verwendendes Tool, das sich jedoch in Zukunft mit mariadb-dump ab MariaDB 10.4.6 oder 10.5.2 ändern wird. Alternativ ist mydumper ein gängiges Tool für MySQL/MariaDB-DBAs, wenn Sie eine parallele Sicherung für Ihre logische Sicherungskopie wünschen. Obwohl es in einigen Versionen einige Probleme gibt oder es möglicherweise Probleme gibt, insbesondere bei den neuesten Versionen von MariaDB. Wenn Sie dies verwenden möchten, dann achten Sie beim Erstellen einer Kopie auf Ihre Sicherungsprotokolle.

Physische Sicherung

Physische Sicherung enthält die Datenbank-Binärdaten, die aus Rohkopien der Verzeichnisse und Dateien bestehen, die Datenbankinhalte speichern. Dies ist insbesondere bei großen Datenbanken eine angemessene Maßnahme, und es ist schneller, eine vollständige Kopie der Datenbank wiederherzustellen, als eine logische Sicherungskopie. Andererseits braucht es Zeit, eine vollständige physische Sicherung zu erstellen, insbesondere wenn Sie einen sehr großen Datensatz haben. Es hängt auch davon ab, welche Parameter Sie aktiviert oder eingestellt haben, die sich auf die Backup-ETA auswirken können.

Ein gängiges Tool für MariaDB ist die Verwendung von mariabackup. Mariabackup ist ein Open-Source-Tool, das von MariaDB bereitgestellt wird. Es ist eine Abzweigung von Percona XtraBackup, die für die Arbeit mit verschlüsselten und komprimierten Tabellen entwickelt wurde, und ist die empfohlene Sicherungsmethode für MariaDB-Datenbanken.

Point-in-Time-Wiederherstellung (PITR)

Point-in-Time-Recovery bezieht sich auf die Wiederherstellung von Datenänderungen bis zu einem bestimmten Zeitpunkt. Dieser gegebene Zeitpunkt ist das gewünschte Wiederherstellungsziel, das festgelegt wurde und wieder eingeführt werden muss, das während der Wiederherstellung angewendet wird. PITR ist eine Point-Forward-Wiederherstellung und das bedeutet, dass Sie Daten von der gewünschten Startzeit bis zur gewünschten Endzeit wiederherstellen können, für das Gegenteil lesen Sie die Verwendung von MariaDB Flashback auf einem MySQL-Server. PITR wird auch als zusätzliche Datenschutzmethode angesehen, da es den Verlust wichtiger Informationen schützt.

In häufigen Situationen wird Ihre für Ihren Wiederherstellungstyp geeignete PITR-Sicherung nach der Wiederherstellung einer vollständigen Sicherung durchgeführt, die den Server in den Zustand zum Zeitpunkt der Erstellung der Sicherung zurückversetzt. Point-in-Time-Recovery bringt den Server dann inkrementell vom Zeitpunkt der vollständigen Sicherung bis zu einem neueren Zeitpunkt auf den neuesten Stand. Es beschleunigt auch den Aufbau eines Replikats innerhalb eines Replikationsclusters, da es nicht mit Ihrer primären MariaDB- oder Active-Writer-Datenbank Schritt halten muss.

Was sind diese Backups also? In MariaDB sind die allgemeinen Backups, die für Ihr PITR gelten, Ihre Binärprotokolle. Die binäre Protokollierung muss in Ihrer MariaDB-Datenbank richtig konfiguriert und aktiviert sein. Wenn Sie ClusterControl verwenden, ist dies möglicherweise nicht schwierig für Sie zu konfigurieren, da es automatisch für Sie konfiguriert und insbesondere beim Einrichten eines Replikationsclusters aktiviert wird.

Bei der Anwendung von PITR ist das am häufigsten verwendete Tool mysqlbinlog oder mariadb-binlog für MariaDB 10.5.2 und höher.

Bester Ansatz zum Sichern Ihrer Moodle MariaDB-Datenbank

Wenn Sie Ihre Moodle MariaDB-Datenbank ausführen, erstellen Sie Ihre Sicherung immer außerhalb der Stoßzeiten oder wenn der Datenverkehr zu gering ist. Bevor Sie dies tun, stellen Sie sicher, dass Sie die Sicherung getestet haben und dass sie erfolgreich abgeschlossen wurde. Wenn Sie fertig sind, testen Sie eine Wiederherstellung, ob Ihr Backup nützlich ist oder nicht und ob es Ihren Anforderungen entspricht, wenn eine Datenwiederherstellung erforderlich ist oder wenn Sie Ihr Backup benötigen, um einen anderen Satz von Clustern zu erstellen (QA, Entwicklung oder Erweiterung auf ein anderes Rechenzentrum). Grundsätzlich sollen die folgenden Unterabschnitte die Vorgehensweise und Einrichtung sein, mit der Sie sich befassen müssen.

Eine Replik einrichten und die Sicherung auf der Replik erstellen

Wenn Sie mit Replikation nicht vertraut sind, lesen Sie unser Whitepaper MySQL-Replikation für Hochverfügbarkeit. Verschonen Sie Ihren aktiven Schreiber oder primären Datenbankknoten grundsätzlich nicht mit der Durchführung oder Ausführung einer Sicherung. Das Erstellen eines Backups muss getestet werden und darf nicht in der Produktion durchgeführt werden, wenn es noch nicht mit einer Reihe von Befehlen und der von Ihnen erstellten Backup-Richtlinie getestet wurde. Sobald es gut ist, lassen Sie es einfach und zielen Sie auf eine Replik. Sie können ein Backup von Ihrer primären/Master-MariaDB-Datenbank erstellen, wenn Sie keine andere Wahl haben oder zumindest sicher sind, was Sie tun.

Sicherung außerhalb der Spitzenzeiten ausführen

Stellen Sie beim Durchführen einer Sicherung sicher, dass dies Ihre Hauptverkehrszeiten sind. Ihr Replikat muss möglichst verzögerungsfrei sein, damit die aktuellsten Daten geschwärzt werden.

Erstellen Sie eine Sicherungsrichtlinie

Die Backup-Richtlinie besteht aus Ihren Parametern und einem Zeitplan, nach dem Ihr Backup einsetzt. Stellen Sie bei den Parametern sicher, dass sie Ihren Anforderungen genügen, d. h. Sicherheit, Komprimierung usw. Der Zeitplan muss dauerhaft sein, also Ihren Backup muss da sein, wenn es in Zeiten einer Katastrophe benötigt wird und eine Datenwiederherstellung erforderlich ist. Sie können auch Ihr Wiederherstellungszeitziel festlegen, sodass Sie bestimmen können, wie oft und wann Ihr Backup-Zeitplan ausgeführt werden soll.

So erstellen Sie eine Sicherungskopie Ihrer Moodle MariaDB-Datenbank

Mariadb-dump/mysqldump verwenden

Der folgende Befehl soll Ihr Datenbank-Backup für Moodle erstellen. In diesem Beispiel lautet der Datenbankname Moodle. Wir haben Trigger, gespeicherte Prozeduren oder Routinen und Ereignisse eingeschlossen. Drucken Sie die GTID und die Master-Informationen, was nützlich ist, wenn Sie eine Replik vom primären oder Master-Datenbankknoten bereitstellen möchten.

$  /usr/bin/mariadb-dump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle

Sie können mariadb-dump einfach durch mysqldump ersetzen, wenn Sie die MariaDB-Version <10.5.2 verwenden. Wenn Sie komprimieren müssen, können Sie den folgenden Befehl ausführen:

$  /usr/bin/mysqldump --defaults-file=/etc/my.cnf --flush-privileges --hex-blob --opt --master-data=2 --single-transaction --skip-lock-tables --triggers --routines --events --gtid --databases moodle |gzip -6 -c > /backups/backup-n1/mysqldump_2021-01-25_182643_schemaanddata.sql.gz

Mariabackup verwenden

Das Mariabackup kann einfach übernommen werden. Dafür nutzen wir mbstream als gewünschtes Streaming- und Archivierungsformat. Sie können den folgenden Befehl verwenden:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream > backup.xbstream

Wenn Sie es komprimieren möchten, können Sie den folgenden Befehl ausführen:

$ /usr/bin/mariabackup --defaults-file=/etc/my.cnf --backup --parallel 1 --stream=xbstream | gzip -6 - > backup.xbstream.gz

ClusterControl verwenden

Wenn Sie zu einer verwalteten Lösung wechseln, die speziell für die Erstellung von Backups Ihres Moodle geeignet ist, nimmt ClusterControl dies einfach und bietet dennoch erweiterte Funktionen für die Erstellung von Backups. Sehen Sie sich den folgenden Screenshot an:

Das Erstellen einer Sicherung ist sehr einfach und leicht zu erstellen. Sie müssen lediglich zu → Backup → Create Backup gehen.

Im obigen Screenshot habe ich mysqldump, mysqldump mit PITR-kompatibel und mariabackup. Sie können auswählen, welcher Host die Sicherung durchführen soll. Stellen Sie, wie bereits erwähnt, sicher, dass Sie das Backup auf dem Replikat oder Slave erstellen. Stellen Sie also sicher, dass der Slave ausgewählt ist. Siehe Screenshot unten:

Bei der Auswahl oder Auswahl von mysqldump erlaubt ClusterControl dem Benutzer, den Typ von auszuwählen Daten abgelegt werden. Dazu gehört auch ein PITR-kompatibler Dump für Backups. Siehe Screenshot unten:

Für Ihre binäre oder physische Sicherung, abgesehen von mysqldump als Ihrer logischen Sicherung, Sie können Mariabackup entweder vollständig oder inkrementell auswählen. Siehe unten:

Speicherorte erlauben dem Benutzer nur, entweder auf dem Knoten zu bleiben oder zu wählen streamen Sie es zum ClusterControl-Host. Wenn Sie einen externen Server haben, der nicht bei ClusterControl registriert ist, können Sie NFS verwenden, um das Volume zu mounten, auf dem Ihre Sicherung gesichert werden soll. Das ist zwar nicht ideal, aber in manchen Fällen sollte es genügen, insbesondere wenn die Netzwerkbandbreite oder die Netzwerkübertragung schnell genug ist, um die Daten lokal über das Netzwerk an den anderen Knoten zu streamen.

Im Wesentlichen können Sie die Backups auswählen, die in die Cloud hochgeladen werden sollen. Sie können den Screenshot früher sehen und einfach das Kontrollkästchen aktivieren, um ihn wie unten zu aktivieren:

Wie bereits erwähnt, nimmt ClusterControl das Backup in einer einfach zu handhabenden Weise zur Verfügung Erweiterte Funktionen, hier sind die Optionen, die Sie einstellen können.

Für mysqldump,

Für Mariabackup,

sehr einfach zu verwenden. ClusterControl bietet auch Backup-Verifizierung und Backup-Wiederherstellung, sodass Sie leicht feststellen können, ob ein Backup sinnvoll ist oder nicht. Dies trägt dazu bei, dass Ihre Moodle-Datenbanksicherung nützlich ist, insbesondere wenn die Datenwiederherstellung für Notfälle und Wiederherstellungen angewendet werden muss.

Fazit

Es kann einfach sein, Ihre Moodle MariaDB-Datenbank zu sichern, aber wenn die Daten größer werden und der Datenverkehr zunimmt, kann es eine große Herausforderung sein. Sie müssen nur Best Practices befolgen, sicherstellen, dass Sie Ihre Daten gesichert haben, sicherstellen, dass Ihr Backup verifiziert ist und dass es nützlich ist, wenn eine Datenwiederherstellung angewendet werden muss.