Info2soft verwendet Cookies, um Ihnen ein besseres und angenehmeres Surferlebnis auf unserer Website zu ermöglichen. Datenschutzerklärung
Wird geladen...
mysqldump ist ein Befehlszeilentool, das MySQL-Datenbanken als einfache Textdateien im Format .sql exportiert. Diese Dateien enthalten SQL-Anweisungen wie CREATE TABLE und INSERT INTO, mit denen Sie Datenbankstruktur und Daten auf jedem kompatiblen MySQL-Server wiederherstellen können.
Warum mysqldump verwenden?
.sql-Datei ist reiner Text und lässt sich problemlos zwischen verschiedenen Betriebssystemen und Serverumgebungen übertragen.Bevor Sie sich mit erweiterten Optionen befassen, lernen Sie zunächst die Kern-Syntax kennen. Der Befehl folgt einer einfachen Struktur: Geben Sie Ihren MySQL-Benutzer an, nennen Sie die zu sichernde Datenbank und legen Sie fest, wo die Ausgabedatei gespeichert werden soll.
Der grundlegende Befehl lautet wie folgt:
mysqldump -u root -p mydb > backup.sql
Aufschlüsselung aller Bestandteile:
root durch Ihren tatsächlichen Benutzernamen, falls abweichend.Folgen Sie diesen Schritten, um eine MySQL-Datenbank über die Befehlszeile zu exportieren. Das Verfahren funktioniert unter Windows, macOS und Linux – lediglich der Weg zum Öffnen des Terminals unterscheidet sich je System.
Wenn mysqldump nicht als Befehl erkannt wird, fehlt MySQL in der System-PATH-Variable. Navigieren Sie in diesem Fall zunächst zum Installationsordner von MySQL.
Unter Windows lautet der Standardpfad meist:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
mysqldump --version aus. Wird eine Versionsnummer angezeigt, ist MySQL bereits in PATH hinterlegt und Sie können diesen Schritt überspringen.Führen Sie folgenden Befehl aus und ersetzen Sie root sowie my_database durch Ihren echten Benutzernamen und Datenbanknamen:
mysqldump -u root -p my_database > backup.sql
Sie können den Befehl je nach gewünschtem Exportziel anpassen:
| Ziel | Befehl |
|---|---|
| Nur Struktur exportieren | mysqldump -u root -p my_database --no-data > backup.sql |
| Nur Daten exportieren | mysqldump -u root -p my_database --no-create-info > backup.sql |
| Mehrere Datenbanken exportieren | mysqldump -u root -p --databases db1 db2 > backup.sql |
| Alle Datenbanken exportieren | mysqldump -u root -p --all-databases > full_backup.sql |
| Bestimmte Tabellen exportieren | mysqldump -u root -p my_database table1 table2 > backup.sql |
Das Terminal fordert Sie zur Eingabe Ihres MySQL-Passworts auf. Geben Sie es ein und drücken Sie Enter.
Der Export ist abgeschlossen, wenn der Cursor wieder eine leere Zeile anzeigt. Um die erfolgreiche Erstellung der Datei zu bestätigen:
.sql-Datei im aktuellen Ordner.Nach dem Export einer Datenbank mit mysqldump benötigen Sie früher oder später eine Wiederherstellung. Beachten Sie: Zum Einlesen der Exportdatei verwenden Sie den Client mysql – nicht mysqldump.
Um eine .sql-Datei in eine Datenbank einzulesen, führen Sie folgenden Befehl aus:
mysql -u root -p my_database < backup.sql
Ersetzen Sie root, my_database und backup.sql durch Ihren echten Benutzernamen, die Zieldatenbank und den Dateipfad.
Der entscheidende Unterschied zum Exportbefehl liegt in der Richtung des Operators: Das Zeichen < leitet den Inhalt der .sql-Datei an den mysql-Client weiter, während > die Ausgabe in eine Datei schreibt.
Sofern Sie nicht mit dem Parameter --all-databases exportiert haben, enthält die .sql-Datei üblicherweise keine CREATE DATABASE-Anweisung. Sie müssen die Datenbank vor dem Import manuell anlegen:
CREATE DATABASE my_new_database;
Falls Sie beim Export einen bestimmten Zeichensatz (wie UTF-8) verwendet haben, stellen Sie sicher, dass die Zieldatenbank identisch konfiguriert ist. Ein Abgleichsfehler kann zu unleserlichen oder verstümmelten Texten führen.
Häufige Ursachen sind unzureichende Benutzerberechtigungen (Zugriff verweigert) oder eine Dateigröße, die den Serverwert max_allowed_packet überschreitet. Erhöhen Sie diesen Wert ggf. in Ihrer MySQL-Konfigurationsdatei.
mysqldump ist ein zuverlässiges Tool für einmalige Exporte und manuelle Sicherungen. Für Teams mit Anforderungen an geplante, automatisierte und zentral verwaltete Datensicherung sind manuelle Befehlsausführungen jedoch nicht skalierbar. Hier kommt eine spezielle Backup-Lösung wie i2Backup ins Spiel.
Egal ob Sie eine einzelne MySQL-Instanz schützen oder Sicherungen über mehrere Server verwalten: i2Backup bietet Ihrem Team konsistenten, automatisierten Schutz ohne den manuellen Aufwand von mysqldump-Exporten.
F1: Wie exportiere ich eine gesamte MySQL-Datenbank?
Führen Sie folgenden Befehl aus und ersetzen Sie root sowie my_database durch Ihren echten Benutzernamen und Datenbanknamen:
mysqldump -u root -p my_database > backup.sql
Um sämtliche Datenbanken des Servers auf einmal zu exportieren, verwenden Sie stattdessen den Parameter --all-databases:
mysqldump -u root -p --all-databases > full_backup.sql
F2: Wie sichere ich eine Datenbank mit mysqldump?
Öffnen Sie Ihr Terminal, navigieren Sie ggf. zum MySQL-Bin-Verzeichnis und führen Sie den mysqldump-Befehl mit Ihrem Benutzernamen, Datenbanknamen und einem Umleitungsoperator > zur Ausgabedatei aus. Stellen Sie sicher, dass Ihr MySQL-Benutzer über die erforderlichen Berechtigungen SELECT und LOCK TABLES für die Zieldatenbank verfügt.
F3: Wie exportiere ich eine bestimmte Tabelle aus einer MySQL-Datenbank?
Fügen Sie den Tabellennamen nach dem Datenbanknamen in den Befehl ein:
mysqldump -u root -p my_database my_table > table_backup.sql
Um mehrere Tabellen zu exportieren, listen Sie diese nacheinander mit Leerzeichen getrennt auf.
F4: Wie exportiere ich nur die Datenbankstruktur ohne Inhalte?
Nutzen Sie den Parameter --no-data, um Tabellendefinitionen ohne Datensätze auszugeben:
mysqldump -u root -p my_database --no-data > structure_only.sql
Dies ist hilfreich bei der Einrichtung neuer Umgebungen, die das gleiche Schema, aber keine vorhandenen Daten benötigen.
F5: Kann ich mysqldump unter Windows verwenden?
Ja. Öffnen Sie die Eingabeaufforderung und verwenden Sie dieselben mysqldump-Befehle wie unter Linux oder macOS. Wird der Befehl nicht erkannt, navigieren Sie zunächst zum MySQL-Bin-Verzeichnis (z. B. cd "C:\Program Files\MySQL\MySQL Server 8.0\bin") oder fügen Sie MySQL der System-PATH hinzu…
mysqldump ist ein unkompliziertes und flexibles Tool zum Export von MySQL-Datenbanken über die Befehlszeile. Egal ob Sie eine einzelne Tabelle sichern, einen gesamten Server migrieren oder nur das Schema exportieren möchten – die Befehle und Optionen dieses Leitfadens decken die gängigsten Anwendungsfälle ab.
Dennoch ist eine Sicherung nur wertvoll, wenn sie erfolgreich wiederhergestellt werden kann. Überprüfen Sie Ihre .sql-Dateien stets nach dem Export. Für Produktivumgebungen mit Anforderungen an Konsistenz und Automatisierung ergänzen Sie mysqldump um eine spezielle Lösung wie i2Backup, um manuellen Aufwand und menschliche Fehler zu minimieren.