mysqldump: Backup einer MySQL-Datenbank oder einer MySQL Tabelle

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

Leave a Comment