MySQL Datenbank sichern — So gehts

MySQL-Datenbank sichern — Anleitung für Einsteiger

Eine MySQL-Datenbank zu sichern ist keine Raketenwissenschaft — aber es gibt mehr Möglichkeiten als die meisten denken. Je nach Situation, Datenbankgröße und Hosting-Umgebung eignet sich die eine Methode besser als die andere. Hier der Überblick über die fünf gängigsten Verfahren mit klarer Empfehlung, wann du was nutzen solltest.

Methode 1: mysqldump (Kommandozeile)

mysqldump ist das Bordmittel von MySQL und das Werkzeug, das jeder Datenbank-Admin kennen sollte — im mysqldump-Tutorial findest du alle Optionen im Detail. Es erzeugt eine SQL-Datei mit allen Befehlen, die nötig sind, um die Datenbank komplett neu aufzubauen.

Grundbefehl

mysqldump -u benutzername -p datenbankname > backup.sql

Mit Komprimierung

mysqldump -u benutzername -p datenbankname | gzip > backup.sql.gz

Vorteile

  • Auf jedem System mit MySQL/MariaDB vorinstalliert
  • Extrem flexibel (einzelne Tabellen, Strukturen, Daten)
  • Ausgabe ist reines SQL — universell importierbar
  • Lässt sich leicht in Cronjobs einbinden
  • Funktioniert mit Datenbanken jeder Größe

Nachteile

  • Braucht SSH-Zugang oder Shell-Zugriff
  • Bei sehr großen Datenbanken (50+ GB) langsam
  • Kein grafisches Interface
  • Lock-Probleme bei InnoDB ohne --single-transaction

Empfohlen für

Admins mit Shell-Zugang, automatisierte Backups, Produktionsserver. Wenn du die Wahl hast, nimm mysqldump — es ist der Standard aus gutem Grund.

Methode 2: phpMyAdmin

phpMyAdmin ist die Weboberfläche, die bei fast jedem Hosting-Paket dabei ist. Für kleine Datenbanken reicht es völlig.

So gehts

  1. phpMyAdmin im Browser öffnen
  2. Datenbank in der linken Spalte auswählen
  3. Tab „Exportieren“ klicken
  4. Methode „Schnell“ oder „Angepasst“ wählen
  5. Format „SQL“ beibehalten
  6. „OK“ klicken — Download startet

Vorteile

  • Grafische Oberfläche, kein Terminal nötig
  • Bei fast jedem Hoster vorinstalliert
  • Export-Optionen gut konfigurierbar
  • Auch Import/Restore direkt möglich

Nachteile

  • PHP-Timeout bei großen Datenbanken — ab ca. 50 MB wird es problematisch
  • Upload-Limit beim Import (oft 2 MB oder 8 MB Standard)
  • Nicht automatisierbar
  • Manueller Prozess — vergisst man leicht

Empfohlen für

Kleine Datenbanken (unter 50 MB), einmalige Exporte, schnelle Ad-hoc-Backups. Nicht für regelmäßige, automatisierte Sicherungen.

Methode 3: MySQLDumper

MySQLDumper wurde genau für das Problem entwickelt, an dem phpMyAdmin scheitert: große Datenbanken auf Shared Hosting sichern, ohne Timeout. Besonders bei WordPress-Datenbanken ist das ein häufiges Thema.

So funktioniert es

MySQLDumper teilt den Export in kleine Häppchen auf. Nach jedem Chunk ruft es sich selbst per HTTP-Redirect wieder auf — und umgeht so das PHP-Zeitlimit. Clever.

Vorteile

  • Kein SSH nötig — läuft komplett im Browser oder per Perl-Cronjob
  • Kein Timeout-Problem, egal wie groß die Datenbank
  • GZip-Komprimierung eingebaut
  • Automatisierung per Cronjob möglich
  • Restore ebenfalls chunked — kein Upload-Limit-Problem
  • E-Mail-Benachrichtigung nach Backup

Nachteile

  • Muss installiert werden (eigenes PHP-Tool auf dem Webspace)
  • Sicherheitsrisiko wenn nicht richtig abgesichert
  • Entwicklung nicht mehr aktiv (aber funktioniert weiterhin)

Empfohlen für

Shared Hosting mit großen Datenbanken, WordPress/Joomla-Seiten, User ohne SSH-Zugang. Installationsanleitung hier.

Methode 4: AutoMySQLBackup

AutoMySQLBackup ist ein Bash-Script, das automatische tägliche, wöchentliche und monatliche Backups erstellt. Quasi das „Set it and forget it“-Tool für Linux-Server.

Installation

# Debian/Ubuntu
sudo apt install automysqlbackup

# Konfiguration anpassen
sudo nano /etc/default/automysqlbackup

Wichtige Einstellungen

# Welche Datenbanken sichern (leer = alle)
DBNAMES=""

# Backup-Verzeichnis
BACKUPDIR="/var/lib/automysqlbackup"

# Rotation
DAILY_RETENTION=7
WEEKLY_RETENTION=4
MONTHLY_RETENTION=12

Vorteile

  • Einmal einrichten, dann läufts
  • Automatische Rotation (täglich/wöchentlich/monatlich)
  • Komprimierung mit GZip
  • Sichert alle Datenbanken auf einmal
  • E-Mail-Benachrichtigung bei Fehlern

Nachteile

  • Braucht Root-Zugang
  • Nur für Linux-Server
  • Keine Weboberfläche
  • Kein Offsite-Backup eingebaut

Empfohlen für

Linux-Server mit mehreren Datenbanken, wo du ein einfaches Rotationssystem brauchst.

Methode 5: Manuelle Kopie (Dateibasiert)

Im Notfall kannst du auch direkt die Datenbankdateien kopieren. Das ist die schnellste Methode — aber auch die riskanteste.

So gehts

# MySQL stoppen (WICHTIG!)
sudo systemctl stop mysql

# Datenbankverzeichnis kopieren
sudo cp -r /var/lib/mysql/meine_datenbank /backup/meine_datenbank

# MySQL wieder starten
sudo systemctl start mysql

Vorteile

  • Extrem schnell, auch bei riesigen Datenbanken
  • Keine SQL-Konvertierung nötig

Nachteile

  • MySQL muss gestoppt werden — Downtime!
  • Nicht portabel (anderer Server, andere MySQL-Version = Problem)
  • InnoDB-Tabellen sind nicht einfach kopierbar (tablespace-Probleme)
  • Keine Komprimierung
  • Fehleranfällig wenn MySQL während der Kopie läuft

Empfohlen für

Absolute Notfälle, Server-Migration bei gleicher MySQL-Version, MyISAM-Tabellen. Im Alltag besser mysqldump nutzen.

Vergleichstabelle

Kriterium mysqldump phpMyAdmin MySQLDumper AutoMySQLBackup Dateikopie
SSH nötig Ja Nein Nein Ja Ja
Max. DB-Größe Unbegrenzt ~50 MB Unbegrenzt Unbegrenzt Unbegrenzt
Automatisierbar Ja Nein Ja Ja Bedingt
Weboberfläche Nein Ja Ja Nein Nein
Downtime nötig Nein* Nein Nein Nein* Ja
Komprimierung Per Pipe Optional Eingebaut Eingebaut Nein
Schwierigkeit Mittel Leicht Leicht Leicht Riskant

* Mit --single-transaction bei InnoDB kein Lock nötig

Meine Empfehlung

Für die meisten Situationen gibt es eine klare Rangfolge:

  1. mysqldump + Cronjob — wenn du SSH hast, nimm das. Zuverlässig, flexibel, Industriestandard. Wie du automatische Backups per Cronjob einrichtest, zeige ich dir im separaten Guide.
  2. MySQLDumper — wenn du kein SSH hast (Shared Hosting). Löst das Timeout-Problem elegant.
  3. AutoMySQLBackup — wenn du viele Datenbanken auf einem Server hast und die Rotation nicht selbst scripten willst.
  4. phpMyAdmin — für schnelle Einmal-Exports. Nicht für regelmäßige Backups.
  5. Dateikopie — nur im Notfall oder bei Migration.

Unabhängig von der Methode: Speichere dein Backup nicht nur auf demselben Server. Ein Brand, ein Hardwaredefekt, ein Ransomware-Angriff — und sowohl Datenbank als auch Backup sind weg. Kopiere deine Backups regelmäßig auf einen externen Speicher.