Die Update-Falle — Warum Datenbank-Backups vor jedem Update Pflicht sind

Update-Falle vermeiden — Datenbank-Backup vor jedem Update

Ich erlebe es regelmäßig: Jemand macht ein WordPress-Update, danach funktioniert nichts mehr — und das einzige Backup ist eine Kopie der PHP-Dateien per FTP. Das reicht nicht. Nicht mal annähernd. Wer seine Webseite wirklich absichern will, muss verstehen, dass jede moderne Webanwendung aus zwei Teilen besteht — und ein FTP-Backup deckt nur einen davon ab.

Dateien und Datenbank — die zwei Hälften deiner Webseite

Egal ob WordPress, Joomla, phpBB, Magento oder WooCommerce — jede dieser Anwendungen besteht aus zwei getrennten Schichten:

Schicht Enthält Gesichert per
Dateien (Filesystem) PHP-Code, Templates, CSS, JavaScript, Bilder, Uploads FTP-Download, SSH/rsync
Datenbank (MySQL/MariaDB) Inhalte, Benutzer, Einstellungen, Bestellungen, Seitenstruktur mysqldump, MySQLDumper, phpMyAdmin

Die PHP-Dateien sind der Motor. Die Datenbank ist der Tank mit dem Benzin. Ohne Datenbank hast du eine leere Hülle. Ohne Dateien kann die Datenbank nichts anzeigen. Beide Teile gehören zusammen — und beide müssen gesichert werden.

Warum ein reines FTP-Backup nicht reicht

Viele Einsteiger sichern ihre Webseite, indem sie alle Dateien per FTP herunterladen. Das ist besser als nichts, aber es fehlt das Wichtigste: deine Inhalte. Bei WordPress liegen in der Datenbank:

  • Alle Seiten und Beiträge (Tabelle wp_posts)
  • Kommentare (wp_comments)
  • Benutzerkonten und Passwörter (wp_users, wp_usermeta)
  • Plugin-Einstellungen (wp_options)
  • Menüstruktur, Widgets, Customizer-Settings
  • WooCommerce: Bestellungen, Kunden, Produkte

Wenn du nur die Dateien hast und die Datenbank verloren geht, sind all diese Daten weg. Unwiederbringlich.

Was bei einem Update schiefgehen kann

Ein Software-Update ändert in der Regel beides: die Dateien und die Datenbankstruktur. WordPress zum Beispiel führt bei Major-Updates ein automatisches Datenbank-Upgrade durch. Dabei werden Tabellen umgebaut, neue Spalten angelegt und alte Datenformate migriert.

Die typischen Katastrophen-Szenarien:

Szenario 1: Update bricht ab

Das PHP-Update läuft durch, aber das Datenbank-Upgrade bricht mittendrin ab — zum Beispiel wegen eines Timeouts oder Speichermangels. Die Folge: Die neuen PHP-Dateien erwarten eine Datenbankstruktur, die nur halb migriert wurde. Die Seite zeigt nur noch Fehler.

Szenario 2: Plugin-Inkompatibilität

Du aktualisierst WordPress auf die neueste Version. Ein wichtiges Plugin ist nicht kompatibel, schreibt fehlerhafte Daten in die Datenbank oder löscht Tabellen. Ohne Datenbank-Backup hast du keine Möglichkeit, den Zustand vor dem Update wiederherzustellen.

Szenario 3: Altes Backup + neue Software

Die Seite ist kaputt. Du hast zwar ein altes Datenbank-Backup von vor drei Monaten — aber inzwischen wurden zwei Major-Updates durchgeführt. Das alte Backup passt nicht mehr zur aktuellen Datenbankstruktur. Einspielen führt zu noch mehr Fehlern.

Warum alte Dumps in neuere Software-Versionen nicht passen

Das ist ein Punkt, den viele unterschätzen. Ein Datenbank-Dump ist ein Snapshot der Daten und der Tabellenstruktur zu einem bestimmten Zeitpunkt. Wenn du ein WordPress 5.9-Backup in eine WordPress 6.4-Installation einspielst, stimmt die Struktur nicht mehr überein.

Konkret passiert Folgendes:

  • Neue Tabellen, die WordPress 6.4 erwartet, fehlen im Dump
  • Spalten, die im Dump noch existieren, wurden in der neuen Version umbenannt oder entfernt
  • Datenformate haben sich geändert (z.B. serialisierte Daten in wp_options)
  • Auto-Increment-Werte und Indizes passen nicht

Das Ergebnis: WordPress startet entweder gar nicht, oder es versucht ein erneutes Datenbank-Upgrade auf einem bereits halb migrierten Stand — und erzeugt dabei noch mehr Inkonsistenzen.

Die richtige Update-Prozedur — Schritt für Schritt

So machst du es richtig. Diese Reihenfolge gilt für WordPress, Joomla, phpBB und praktisch jede andere PHP-Anwendung mit MySQL-Backend:

Schritt 1: Vollständiges Backup erstellen

Beides sichern — Dateien und Datenbank. Für die Datenbank empfehle ich MySQLDumper oder mysqldump:

# Datenbank sichern
mysqldump -u dbuser -p --single-transaction --routines meine_datenbank > backup_vor_update_$(date +%Y%m%d).sql

# Dateien sichern
tar -czf files_backup_$(date +%Y%m%d).tar.gz /var/www/html/meine-seite/

Schritt 2: Backup verifizieren

Ein Backup ist nur so viel wert wie seine Integrität. Prüfe die SQL-Datei:

# Dateigröße prüfen (sollte nicht 0 sein)
ls -lh backup_vor_update_*.sql

# Letzten Zeilen prüfen — dort sollte stehen:
# -- Dump completed on ...
tail -5 backup_vor_update_*.sql

Schritt 3: Staging-Umgebung nutzen (optional, empfohlen)

Wenn möglich, teste das Update zuerst auf einer Kopie deiner Seite. Viele Hoster bieten Staging-Funktionen an. Alternativ kannst du lokal mit XAMPP oder Docker testen.

Schritt 4: Update durchführen

Erst jetzt das eigentliche Update starten. Bei WordPress am besten über das Dashboard — das automatische Datenbank-Upgrade wird dabei gleich mit ausgeführt.

Schritt 5: Seite testen

Nach dem Update systematisch testen:

  • Startseite und wichtige Unterseiten laden?
  • Admin-Bereich erreichbar?
  • Kontaktformulare, Shop-Funktionen, Login?
  • Plugins und Templates aktiv und fehlerfrei?

Schritt 6: Im Fehlerfall — Backup einspielen

Falls etwas schiefgeht, spielst du beides zurück — Dateien und Datenbank:

# Alte Dateien wiederherstellen
tar -xzf files_backup_20240115.tar.gz -C /

# Datenbank wiederherstellen
mysql -u dbuser -p meine_datenbank < backup_vor_update_20240115.sql

Wichtig: Immer beides zusammen zurückspielen. Die alten Dateien passen nur zur alten Datenbankstruktur.

Automatische Backups vor Updates einrichten

Damit du in der Hektik das Backup nicht vergisst, kannst du den Prozess automatisieren. Ein einfacher Cronjob sichert die Datenbank täglich — alle Details dazu im Backup-Restore- und Cronjob-Guide:

# Crontab bearbeiten
crontab -e

# Tägliches Backup um 3 Uhr nachts
0 3 * * * mysqldump -u dbuser -pMeinPasswort --single-transaction meine_db > /home/backups/db_$(date +\%Y\%m\%d).sql

Bei WordPress gibt es außerdem Plugins wie UpdraftPlus oder BackWPup, die vor jedem Update automatisch ein vollständiges Backup erstellen. Das ist kein Ersatz für manuelle Backups, aber eine gute zusätzliche Sicherheitsebene.

Checkliste: Backup-Pflicht vor Updates

Schritt Erledigt?
Datenbank-Backup erstellt (mysqldump/MySQLDumper)
Datei-Backup erstellt (FTP/SSH/tar)
Backup-Dateien auf Vollständigkeit geprüft
Backup auf lokalem Rechner gespeichert (nicht nur auf dem Server)
Wiederherstellungsprozedur bekannt
Update durchgeführt
Seite nach Update getestet

Fazit

Die Update-Falle schnappt immer dann zu, wenn du glaubst, ein FTP-Backup sei ausreichend. Ist es nicht. Deine Inhalte, Einstellungen und Benutzerdaten liegen in der MySQL-Datenbank — und die musst du separat sichern. Der Aufwand ist minimal: Ein einziger mysqldump-Befehl oder ein Klick in MySQLDumper, und du bist auf der sicheren Seite. Mach es dir zur Regel: Kein Update ohne Datenbank-Backup. Nie.

Eine ausführliche Anleitung zur Datenbanksicherung findest du im Artikel MySQL-Datenbank sichern — alle Methoden im Überblick.