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
Kommentare
Man darf die Kollation der Datenbanken / Tabellen nicht vergessen.
Sonst gibt es evtl. ein böses Erwachen nach dem Einspielen des Dumps ![]()

25.03.2008