Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
Vor der Wiederherstellung müssen Sie wissen, um welchen Typ von Sicherungsdatei es sich handelt. MySQL-Sicherungen unterteilen sich in zwei Kategorien: logische Sicherungen (SQL-Skripte) und physische Sicherungen (Rohdatendateien). Die Verwendung einer falschen Wiederherstellungsmethode für Ihren Dateityp führt zu Fehlern – schlimmstenfalls zu unbemerkter Datenbeschädigung.
| Dateityp | Erstellt mit | Empfohlen für | Wiederherstellungsmethode |
|---|---|---|---|
| .sql / .dump | mysqldump, mysqlpump | Migrationen, kleine bis mittlere Datenbanken | MySQL-Befehlszeile |
| .sql.gz | mysqldump + Komprimierung | Große Datenbanken, Remote-Übertragungen | Dekomprimieren, anschließend importieren |
| .ibd | InnoDB-Engine | Wiederherstellung einzelner Tabellen | Manuelles Ersetzen von Dateien |
| .ibdata | InnoDB-Engine | Vollständige Wiederherstellung des InnoDB-Systemtablespaces | Manuelles Ersetzen von Dateien |
| .frm | MySQL 5.7 und älter | Metadaten zur Tabellenstruktur | Manuelles Ersetzen von Dateien |
| .MYD / .MYI | MyISAM-Engine | Wiederherstellung von MyISAM-Tabellendaten und Indizes | Manuelles Ersetzen von Dateien |
CREATE TABLE, INSERT INTO usw.), die Ihre Datenbank von Grund auf neu erstellen. Sie sind leicht lesbar, einfach übertragbar und zwischen verschiedenen MySQL-Versionen kompatibel.SQL-Dump-Dateien sind das gängigste MySQL-Sicherungsformat. Sie sind portabel, menschenlesbar und mit den meisten MySQL-Versionen kompatibel – daher die Standardwahl für Migrationen und regelmäßige Wiederherstellungen.
Vor dem Start: Die meisten Dump-Dateien enthalten keine CREATE DATABASE-Anweisung. Falls die Zieldatenbank noch nicht existiert, erstellen Sie sie zuerst:
CREATE DATABASE IhrDatenbankname;
Nutzen Sie den Befehlszeilenclient mysql, um die Datei direkt an die Zieldatenbank zu übergeben:
mysql -u Benutzername -p Datenbankname < backup.sql
Sie werden zur Eingabe Ihres Passworts aufgefordert. MySQL führt anschließend alle Anweisungen der Datei aus und erstellt Tabellen sowie Daten neu.
Eine .dump-Datei ist strukturell identisch mit einer .sql-Datei – es handelt sich lediglich um eine andere Dateiendung. Der Befehl lautet genau gleich:
mysql -u Benutzername -p Datenbankname < backup.dump
Große Datenbanken werden häufig als .sql.gz-Dateien gespeichert, um Speicherplatz zu sparen. Sie müssen die Datei nicht zuerst dekomprimieren – leiten Sie sie direkt in einem Schritt an MySQL weiter.
Linux / macOS:
gunzip < backup.sql.gz | mysql -u Benutzername -p Datenbankname
Windows (PowerShell):
cmd /c "gunzip -c backup.sql.gz | mysql -u Benutzername -p Datenbankname"
Häufige Fehlerquellen
ALL PRIVILEGES für die Zieldatenbank besitzt.max_allowed_packet in der Datei my.cnf (Linux) oder my.ini (Windows).SET FOREIGN_KEY_CHECKS=0; und am Ende SET FOREIGN_KEY_CHECKS=1; ein.Physische Datendateien – teilweise auch „Flat Files“ oder „Kalt-Sicherungen“ genannt – sind die binären Rohdateien, mit denen MySQL Daten auf dem Datenträger ablegt. Die Wiederherstellung über diese Dateien ist schneller als das Einspielen eines SQL-Dumps, erfordert aber mehr Sorgfalt bei Dateiberechtigungen und Versionskompatibilität.
Diese Methode eignet sich am besten für folgende Fälle:
.sql-Datei bei einer mehrterabytegroßen Datenbank kann Tage dauern. Eine physische Wiederherstellung läuft deutlich schneller ab./var/lib/mysql durch.Führen Sie diese Schritte nacheinander durch. Falsche Dateipfade oder Besitzerrechte sind die häufigsten Gründe für fehlgeschlagene physische Wiederherstellungen.
Schritt 1: MySQL-Dienst stoppen
Verschieben oder ersetzen Sie niemals Datendateien bei laufendem MySQL-Dienst. Dies riskiert unvollständige Schreibvorgänge und Dateibeschädigungen.
sudo systemctl stop mysqlSchritt 2: Ersetzen der Datenbankdateien
Kopieren Sie Ihre Sicherungsdateien in das MySQL-Datenverzeichnis:
/var/lib/mysql C:\ProgramData\MySQL\MySQL Server X.X\DataSchritt 3: Anpassen der Dateiberechtigungen
Unter Linux muss der Benutzer mysql Eigentümer aller Dateien im Datenverzeichnis sein. Das ist der am häufigsten vergessene Schritt bei physischen Wiederherstellungen.
sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 750 /var/lib/mysql
Windows handhabt Dateiberechtigungen anders – solange das MySQL-Dienstkonto Lese- und Schreibzugriff auf den Datenordner hat, sind keine zusätzlichen Änderungen erforderlich.
Schritt 4: MySQL neu starten
Starten Sie den Dienst und achten Sie auf Fehlermeldungen.
sudo systemctl start mysqlsudo journalctl -u mysql aus. Jeder Tablespace-Konflikt oder Berechtigungsproblem wird hier angezeigt, bevor größere Probleme entstehen.Eine Wiederherstellung ist erst abgeschlossen, wenn Sie die Datenintegrität bestätigt haben. Das Auslassen der Prüfung kann zu unbemerkten Ausfällen führen – die Datenbank scheint funktionsfähig, aber die Anwendung stürzt ab, wenn sie auf eine fehlende Tabelle oder beschädigte Zeile trifft.
Schritt 1: Prüfen der Datenbankstruktur
Stellen Sie sicher, dass alle erwarteten Tabellen erstellt wurden. Melden Sie sich in der MySQL-Shell an und führen Sie aus:
USE IhrDatenbankname;
SHOW TABLES;
Vergleichen Sie die Ausgabe mit Ihrem ursprünglichen Schema oder Ihrer Dokumentation. Fehlende Tabellen deuten auf einen abgebrochenen Import hin.
Schritt 2: Überprüfen der Zeilenanzahl pro Tabelle
Tabellen können vorhanden, aber leer sein, falls die Wiederherstellung vorzeitig abgebrochen wurde. Prüfen Sie die Zeilenanzahl Ihrer wichtigsten Tabellen:
SELECT COUNT(*) FROM users;
SELECT COUNT(*) FROM orders;
max_allowed_packet-Fehler während der Wiederherstellung hin.Schritt 3: Stichprobenprüfung der Datenintegrität
Führen Sie einige Abfragen auf kürzlich aktualisierte Datensätze durch, um die Lesbarkeit der Daten zu bestätigen:
SELECT * FROM orders ORDER BY created_at DESC LIMIT 5;
Achten Sie auf verstümmelten Text – dieser kann auf einen Zeichensatzkonflikt hindeuten, ein häufiges Problem bei Dateiübertragungen zwischen unterschiedlichen Betriebssystemen oder MySQL-Versionen.
Schritt 4: Testen der Anwendungsverbindung
Starten Sie Ihre Anwendung oder Ihren Webserver neu und führen Sie grundlegende Aktionen durch – Anmelden, Dashboard laden oder Berichte erstellen. Damit bestätigen Sie, dass die Anwendung die Datenbank erreichen und Abfragen erfolgreich ausführen kann.
HOST. Ein Benutzer mit der Definition 'user'@'localhost' funktioniert nicht für Remote-Verbindungen; verwenden Sie 'user'@'%', falls die Anwendung von einem anderen Host aus zugreift.Manuelle Wiederherstellungsverfahren funktionieren – sie setzen jedoch voraus, dass eine saubere, vollständige Sicherungsdatei verfügbar ist, wenn Sie sie benötigen. In der Praxis werden Ad-hoc-Sicherungen schnell vergessen, schwer prüfbar und oft unvollständig, wenn ein echter Wiederherstellungsfall eintritt. Eine spezielle Sicherungslösung beseitigt diese Unsicherheit, indem sie den gesamten Ablauf von der Zeitplanung bis zur Wiederherstellung automatisiert.
i2Backup ist eine Unternehmens-Sicherungsplattform, mit der Sie MySQL-Datenbanken über eine grafische Webkonsole sichern und wiederherstellen können. Sie unterstützt physische Server, virtuelle Maschinen und Cloud-Umgebungen – alles zentral verwaltet an einem Ort.
Die Schritte in diesem Leitfaden geben Ihnen die volle Kontrolle über manuelle MySQL-Wiederherstellungen. Eine zuverlässige Wiederherstellung beginnt jedoch lange vor einem Ausfall – mit konsistenten, geprüften Sicherungen. i2Backup automatisiert diese Grundlage, sodass im Notfall die Wiederherstellung unkompliziert statt hektisch verläuft.
F1: Wie stelle ich eine MySQL-Datenbank aus Datendateien unter Windows wieder her?
Stoppen Sie den Dienst MySQL über services.msc. Kopieren Sie Ihre .ibd-, ibdata1– und .frm-Dateien in das Verzeichnis C:\ProgramData\MySQL\MySQL Server X.X\Data. Stellen Sie sicher, dass das MySQL-Dienstkonto uneingeschränkte Lese- und Schreibrechte auf die neuen Dateien hat, anschließend starten Sie den Dienst neu.
F2: Wie stelle ich MySQL mithilfe von Binärlogs wieder her?
Nutzen Sie das Dienstprogramm mysqlbinlog, um die Logdatei in SQL-Anweisungen umzuwandeln und an MySQL weiterzuleiten:
mysqlbinlog binlog.000001 | mysql -u Benutzername -p
Die Wiederherstellung über Binärlogs erfolgt ergänzend zu einer vollständigen Sicherung – stellen Sie immer zuerst die Basissicherung wieder her, bevor Sie die Binärlogs abspielen, um alle Änderungen bis zum Ausfallzeitpunkt wiederherzustellen.
F3: Wie stelle ich eine MySQL-Datenbank mit Dateien aus dem Datenordner wieder her?
Fahren Sie MySQL herunter, verschieben Sie anschließend den Datenbankordner in das Verzeichnis data. Stellen Sie sicher, dass die Datei ibdata1 aus derselben Sicherung stammt wie Ihre Tabellendateien. Unter Linux setzen Sie vor dem Neustart die Dateibesitzerrechte mit chown -R mysql:mysql zurück.
F4: Kann ich eine einzelne Tabelle aus einer .sql-Dump-Datei wiederherstellen?
Spielen Sie den vollständigen Dump zunächst in eine temporäre Zwischen-Datenbank ein, exportieren Sie anschließend nur die benötigte Tabelle:
mysqldump -u Benutzername -p ZwischenDB Tabellenname > einzelne_tabelle.sql
mysql -u Benutzername -p ZielDB < einzelne_tabelle.sql
F5: Was tun bei dem Fehler „Table already exists“?
Löschen und erstellen Sie die Zieldatenbank vor dem Import neu:
DROP DATABASE IhrDatenbankname;
CREATE DATABASE IhrDatenbankname;
Die Wiederherstellung einer MySQL-Datenbank hängt vor allem von der Kenntnis Ihres Sicherungstyps ab. SQL-Dump-Dateien lassen sich unkompliziert über die Befehlszeile mysql einspielen. Physische Datendateien sind schneller bei großen Datensätzen, erfordern aber sorgfältige Prüfung von Dateiberechtigungen und konsistenten Tablespaces. In jedem Fall überprüfen Sie die Wiederherstellung, bevor Sie Ihre Anwendung wieder auf die Datenbank umleiten.
Der beste Zeitpunkt zum Testen Ihres Wiederherstellungsablaufs ist vor einem tatsächlichen Ausfall. Ziehen Sie eine spezielle Lösung wie i2Backup in Betracht, um Ihre MySQL-Sicherungen zu automatisieren und stets einen geprüften, funktionsfähigen Wiederherstellungspunkt bereitzuhalten.