Die Update-Falle — Warum Datenbank-Backups vor jedem Update Pflicht sind
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.