Backup einer MySQL Datenbank erstellen

In diesem Artikel beschreibe ich kurz, wie wir ein Backup einer MySQL Datenbank erstellen können. So können wir Backups einer gezielten oder mehrerer Datenbanken erstellen, um so die Daten zu sichern.

Backup einer Datenbank

Um ein Backup zu erstellen, benötigen wir im ersten Schritt einmal den Namen der entsprechenden Datenbank. Mit dem folgenden Befehl können wir uns alle Datenbanken auf diesem Datenbankserver anzeigen lassen:

SHOW DATABASES;

In dem folgenden Beispiel erstellen wir ein Backup der Datenbank _erp_prod. Um dieses Backup zu erstellen, verwenden wir den folgenden Befehl direkt in der Terminal-Umgebung:

mysqldump -u root -p _erp_prod > backup.sql

In dem aktuellen Verzeichnis wird dann eine SQL-Datei erstellt, welche wir dann z.B. für ein Einspielen der Daten verwenden können.

Backup mehrerer Datenbanken in einer Datei

Um ein Backup mehrerer Datenbanken in einer Datei durchzuführen, verwenden wir den folgenden Befehl:

mysqldump -u root -p --databases datenbank_eins datenbank_zwei > backup.sql

Dieser Befehl fügt dem obigen Befehl einen Parameter hinzu. Diesem können wir beliebig viele Datenbanken mitgeben. Alle Datenbanken werden dann in eine einzelne SQL-Datei geschrieben.

Datenbanken in verschiedenen Dateien sichern

Zum Abschluss gibt es hier noch ein kleines Skript, welches alle Datenbanken nach und nach durcharbeitet und für jede Datenbank eine eigene SQL-Datei anlegt.

for DB in $(mysql -e 'show databases' -s --skip-column-names); do
    mysqldump $DB > "$DB.sql";
done