Mit mysqldump lassen sich MySQL Datenbanken schnell ein einfach sichern:
Der Befehl mysqldump
Mit dem Befehl mysqldump lassen sich alle Datenbanken eines MySQL Servers aufeinmal oder selektiv MySQL-Datenbanken oder auch nur ausgewählte Tabellen einer MySQL-Datenbank sichern.
1. Sichern aller Datenbanken eines MySQL Servers mit mysqldump
Dies ist insbesondere vor dem Upgrade einem MySQL notwendig.
Der mysql Befehl zum Sichern aller Datenbanken mit mysqldump lautet also:
mysqldump -u root -p --all-databases > allDatabases.sql
Nach der Eingabe des MySQL Kennwort des Datenbank-Benutzers (user) root wird die Tabellenstruktur und der Inhalt aller Datenbanken in die Datei allDatabases.sql geschrieben. Hinweis: Es wird ein Datenbank-Benutzer (user) mit Zugriffrechten auf alle MySQL Datenbanken benötigt um mit diesem mysqldump Befehl zu sichern.
Achtung: Dieses Backup umfasst auch die Datenbank mysql mit den Benutzerdaten. Beim zurückspielen des Backups wird diese Tabelle vollständig überschrieben!
2. Sichern einer oder mehrerer MySQL Datenbanken mit mysqldump
Um nur ausgewählte bzw. eine einzelnde Datenbank komplett zu sichern wird der mysqldump Befehl wie folgt geändert:
Backup: Sichern einer MySQL-Datenbank mit mysqldump:
mysqldump -u root -p --databases Database1 > oneDatabase.sql
Backup: Sichern mehrerer MySQL-Datenbanken mit mysqldump:
mysqldump -u root -p --databases Database1 Database2 > bothDatabases.sql
Es ist sinnvoll die Backups beispielweise in das /home verzeichniss des Users in ein gesondertes Verzeichniss zu legen, in meinem Fall:
mysqldump -u root -p --databases Database1 Database2 > /home/root/bothDatabases.sql
Es erfolgt wie üblich jeweils die Abfrage des Passwortes bevor die Daten gesichert werden.
3. Sichern ausgewählter Tabellen einer Datenbank mit mysqldump
Sollte es notwendig sein Tabellen zu sichern lassen sich diese wie folgt sichern.
Als praxisorientiertes Beispiel dient die Benutzerdatenbank mysql von MySQL. Die Tabellen db und user sollen gesichert werden:
mysqldump -u root -p mysql db user > mysqlDbUsers.sql
Auch hier gilt wieder: Erst Passwortabfrage, dann die Ausführung des mysqldump Befehls.
1 thought on “mysqldump: Backup einer MySQL-Datenbank oder einer MySQL Tabelle”