MySQL-Datensicherung “Best Practise”
27.01.2010 | Kategorien: Programme | Tags: Backup, Datensicherung, MySQL | Kommentar-RSS | Trackback
![]()
Auf Arbeit habe ich ja vor kurzem unser Backup-System für unsere Linux-Kisten neu aufgesetzt und im Zuge dessen nach dem Best Practise für die Sicherung von MySQL-Servern gesucht.
Leider findet man nicht viel dazu im Netz, letztendlich bin ich aber doch noch auf diese Seite hier gestoßen.
MySQL-Datenbanken sichert man am Besten mit dem Kommandozeilen-Tool mysqldump, welches standardmäßig mit dem MySQL-Server mitinstalliert wird. Für eine “Best Practise”-Datensicherung benutzt man ganz simpel folgenden Befehl:
mysqldump -u<Benutzername> -p<Passwort> –A > <SQL-Datei>
Wichtig hierbei ist, dass zwischen –u und <Benutzername> sowie zwischen –p und <Passwort> kein Leerzeichen ist. Die Option –A gibt an, dass alle Datenbanken auf dem Server gesichert werden sollen. Beispielhaft könnte der Befehl im Einsatz so aussehen:
# Beispiel für Linux mysqldump –uroot –pg4nzg3h3im –A > /backup/MySQL-Sicherung.sql
# Beispiel für Windows mysqldump –uroot –pg4nzg3h3im –A > c:\MySQL-Sicherung.sql
Natürlich bietet der mysqldump Befehl noch etliche weitere Parameter, um die Sicherung anzupassen, meistens reicht aber schon der oben genannte Befehl.
Um die Sicherung später wiederherzustellen, gibt man folgendes ein:
mysql -u<Benutzername> –p<Passwort> < <SQL-Datei>
Also würde das im Einsatz zum Beispiel so aussehen:
# Beispiel für Linux mysql –uroot –pg4nzg3h3im < /backup/MySQL-Sicherung.sql
# Beispiel für Windows mysql –uroot –pg4nzg3h3im < c:\MySQL-Sicherung.sql
13:51 am 27. Januar 2010
Die Wordpress Datenbank sichere ich immer mit MySQLDumper.
Wirklich sehr zu empfehlen, sofern du den noch nicht kennen solltest
Lässt sich wirklich sehr komfortable über ein Webinterface bedienen und hilft auch bei der Wiederherstellung. Die Backups können lokal oder auf einem entfernten FTP-Server gesichert und zusätzlich noch per Mail verschickt werden.
Das Ganze lasse ich dann einfach automatisiert als täglichen Cronjob laufen.
14:17 am 27. Januar 2010
Doch kenne ich schon, ich steh aber eher auf mysqldump
Ansonsten kann ich “MySQL Administrator” bzw das ist ja nun in “MySQL Workbench” eingeflossen.
11:16 am 28. Januar 2010
Hier eine Einzeiler um alle MySQL Datenbanken in eine extra Datei zu sichern
for I in `echo “show databases;” | mysql -u root -pg4nzg3h3im | grep -v Database`; do mysqldump -u root -pg4nzg3h3im $I > “/root/backup_tmp/db/$I.sql”; done
11:24 am 28. Januar 2010
Ist auch praktisch, vor allem, wenn nur eine Datenbank kaputt gegangen ist. Ich müsste mal gucken, ob es dafür nicht einen gesonderden Parameter gibt oder eine Methode, um nur eine Datenbank aus deinem Dump wieder einzuspielen.
Per Hand rauskopieren geht zwar auch, ist aber nicht ganz so komfortabel