zechendorf e.solutions
25.10.2007 // How-To, Linux

mySQL-Datenbank: Backup und Restore

Wenn man hauptsächlich Web-Applikationen entwickelt hat man in der Regel nicht so viel Kontakt mit darunter liegenden Funktionen wie Backups, Linux-Distributionen und ähnlichem. In letzter Zeit machte allerdings der Serverwechsel eines Kunden die Auseinandersetzung mit dem Backup und der Wiederherstellung von mehreren mySQL-Datenbanken notwendig.

Da die Datenbanken in der Summe über 600 MB groß waren, war ein Export über phpMyAdmin – das ja eine gängige mySQL-Oberfläche bietet – unpraktikabel, wenn nicht sogar unmöglich. Ich habe das Backup also über die Shell des Servers (SSH-Zugang wird hierfür benötigt) vorgenommen

Backup einer oder mehrerer Datenbanken

Um eine Datebank in eine Datei zu sichern (auch als Dump oder Dumpfile bezeichnet) reicht folgender Befehl in der Kommandozeile (Shell) des Servers aus
mysqldump -u[nutzername] -p[passwort] [datenbank[, datenbank 2 etc.]] > [dateiname].sql
Sollen alle Datenbanken gesichert werden sollte man die folgende Aktion als “root” ausführen:
mysqldump -uroot -p[passwort] --all-databases > [dateiname].sql

Restore des Datenbank-Dumps

Nun musste nur noch die erzeugte Datei auf den neuen Server kopiert werden (scp) und konnte dann durch folgenden Befehl auf den neuen mySQL-Server aufgespielt werden:
mysql -u[nutzername] -p[passwort] < [dateiname].sql