MariaDB-Backup: So sichern Sie Ihre Daten
Für den sicheren Betrieb jeder Datenbank sind Backups unerlässlich. Ein Ausfall, ein fehlerhaftes Update oder ein Sicherheitsvorfall kann Daten unwiederbringlich löschen. In diesem Tutorial erfahren Sie, wie Sie MariaDB-Datenbanken wirksam schützen und ein vollständiges MariaDB-Backup durchführen.
MariaDB-Backup-Typen: logisch vs. physisch
MariaDB unterscheidet zwischen zwei Arten von Backups:
- Logische Backups speichern Daten in einem SQL-ausführbaren Format. Sie enthalten Anweisungen wie
CREATE TABLE
undINSERT INTO
, mit denen sich Struktur und Inhalte der Datenbank wiederherstellen lassen. Logische Backups eignen sich, wenn Sie Daten auf andere Systeme, andere Versionen oder sogar auf andere Datenbanksysteme übertragen möchten. - Physische Backups kopieren Dateien und Verzeichnisse der Datenbank direkt vom Dateisystem. Diese Methode arbeitet schneller und effizienter, besonders bei großen Datenmengen. Allerdings funktioniert sie nur zuverlässig, wenn Server, Speicherformate und MariaDB-Versionen identisch bleiben.
Für viele Szenarien empfiehlt sich eine Kombination aus beiden Methoden – zum Beispiel logische Dumps für einzelne Daten oder Tabellen und physische Sicherungen für vollständige und schnelle Wiederherstellungen.
- IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
- Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
- Rechenzentren in Deutschland: Ihre Daten sind sicher
MariaDB-Backup erstellen: Welche Optionen gibt es?
MariaDB stellt verschiedene Werkzeuge zur Verfügung, um Daten zu sichern. Je nach Einsatzzweck, Datenmenge und Systemumgebung kommen unterschiedliche Methoden in Frage.
mariadb-dump
mariadb-dump
ist das bekannteste Backup-Tool von MariaDB. Es erstellt logische Sicherungen und speichert Daten als SQL-Datei. Diese Datei lässt sich später mit dem MariaDB-Client wieder einspielen.
Vorteile:
- Läuft auf jedem System mit MariaDB-Client
- Sichert Tabellen, einzelne oder alle Datenbanken
- Kompatibel mit anderen MariaDB- und MySQL-Versionen
Nachteile:
- Große Datenmengen verlängern die Sicherungs- und Wiederherstellungszeit
- Während des Backups kann es zu Lastspitzen kommen
mariadb-backup
mariadb-backup
sichert Daten physisch. Das Werkzeug basiert auf Percona XtraBackup und wurde für MariaDB erweitert. Es unterstützt Verschlüsselung und Kompression.
Vorteile:
- Schnell und effizient bei großen Datenmengen
- Führt Backups im laufenden Betrieb durch (Hot Backup)
- Geeignet für produktive Systeme mit InnoDB-Tabellen
Nachteile:
- Funktioniert nur mit InnoDB (nicht mit MyISAM)
- Höherer Aufwand bei Einrichtung und Wiederherstellung
Weitere Optionen
- mariadb-hotcopy: Älteres Werkzeug für MyISAM-Tabellen (wird nicht mehr gepflegt)
- LVM-Snapshots: Systemweite Sicherung auf Dateisystem-Ebene. Sehr schnell, aber komplex
- dbForge Studio: Grafische Lösung für Windows-Systeme mit bequemer Oberfläche
Praxisbeispiel: MariaDB-Backup durchführen mit mariadb-dump
Sie benötigen Zugriff auf den Datenbankserver und ein Benutzerkonto mit Backup-Rechten (zum Beispiel root). Öffnen Sie ein Terminal oder eine SSH-Verbindung. Stellen Sie sicher, dass der Befehl mariadb-dump
installiert und im Pfad verfügbar ist.
Alle Datenbanken sichern
Führen Sie den folgenden Befehl aus:
mariadb-dump -u root -p --all-databases --result-file=/backups/backup_all.sql
bashErklärung:
-u root
: Legt den Benutzer root fest.-p
: Fordert zur Eingabe des Passworts auf.--all-databases
: Sichert alle vorhandenen Datenbanken.--result-file
: Legt die Zieldatei für das Backup fest.
Das Backup enthält alle Datenbanken inklusive Benutzerverwaltung, Trigger, Views und Systemtabellen.
Eine bestimmte Datenbank sichern
Der folgende Befehl --databases shop_db
sichert nur die angegebene Datenbank.
mariadb-dump -u root -p --databases shop_db --result-file=/backups/shop_db.sql
bashWenn Sie die CREATE DATABASE
-Anweisung im Dump vermeiden möchten, verwenden Sie:
mariadb-dump -u root -p shop_db --result-file=/backups/shop_db.sql
bashIn diesem Fall müssen Sie die Datenbank bei der Wiederherstellung selbst anlegen.
Mehrere Datenbanken sichern
Nachfolgend listen Sie die Datenbanken auf, die in die Sicherung aufgenommen werden. Sie erzeugen eine SQL-Datei mit Anweisungen für alle aufgeführten Datenbanken.
mariadb-dump -u root -p --databases db1 db2 db3 --result-file=/backups/multiple.sql
bashEinzelne Tabellen sichern
Wir geben die Datenbank und die gewünschten Tabellen direkt im Befehl an. Dies ist nützlich für gezielte Exporte, zum Beispiel bei Migration einzelner Tabellen.
mariadb-dump -u root -p db_name table1 table2 --result-file=tables.sql
bashMögliche Optionen für mariadb-dump
Option | Beschreibung |
---|---|
--no-data
|
Sichert nur die Struktur, keine Daten |
--no-create-info
|
Sichert nur die Daten, ohne Tabellenstruktur |
--routines
|
Sichert Prozeduren und Funktionen |
--events
|
Sichert geplante Ereignisse |
--single-transaction
|
Sicherung ohne Sperren bei InnoDB-Tabellen |
--quick
|
Reduziert Speicherbedarf bei großen Tabellen |
MariaDB: Backup automatisieren mit Cron
Automatisieren Sie tägliche Backups mit einem Cronjob. Öffnen Sie die Cron-Tabelle:
crontab -e
bashFügen Sie diese Zeile ein, um beispielsweise täglich um 3 Uhr ein Backup zu erstellen:
0 3 *** mariadb-dump -u root -p password --all-databases --result-file=/backups/backup-$(date +\%F).sql
bashSpeichern Sie Passwörter aus Sicherheitsgründen nicht direkt in der Cron-Tabelle. Legen Sie stattdessen eine Konfigurationsdatei .my.cnf
im Home-Verzeichnis an:
[client]
user=root
password=password
bashSetzen Sie die Zugriffsrechte:
chmod 600 ~/.my.cnf
bashVerwenden Sie dann in Cronjobs folgende Variante ohne Passwort:
mariadb-dump --all-databases --result-file=/backups/backup-$(date +\%F).sql
bashNutzen Sie mariadb-dump
vorzugsweise für flexible, systemunabhängige Backups und kleinere Datenmengen. Für produktive Systeme mit großen Datenbeständen empfiehlt sich mariadb-backup
. Sichern Sie regelmäßig und prüfen Sie Ihre Backups durch Test-Wiederherstellungen. Nur ein geprüftes Backup schützt Sie zuverlässig vor Datenverlust.
- Kostengünstige vCPUs und leistungsstarke dedizierte Cores
- Höchste Flexibilität ohne Mindestvertragslaufzeit
- Inklusive 24/7 Experten-Support