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 und INSERT 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.

Managed Database Services
Datenbanken – Auf´s Wesentliche konzentrieren
  • 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
bash

Erklä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
bash

Wenn 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
bash

In 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
bash

Einzelne 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
bash

Mö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
bash

Fü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
bash

Speichern 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
bash

Setzen Sie die Zugriffsrechte:

chmod 600 ~/.my.cnf
bash

Verwenden Sie dann in Cronjobs folgende Variante ohne Passwort:

mariadb-dump --all-databases --result-file=/backups/backup-$(date +\%F).sql
bash

Nutzen 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.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kostengünstige vCPUs und leistungsstarke dedizierte Cores
  • Höchste Flexibilität ohne Mindestvertragslaufzeit
  • Inklusive 24/7 Experten-Support
War dieser Artikel hilfreich?
Zum Hauptmenü