MySQL-Datensicherung “Best Practise” | www.patrick-gotthard.de

MySQL Logo

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

Kommentare »

  1. Nils
    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.

  2. Patrick
    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.

  3. Flo
    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

  4. Patrick
    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 :)

Kommentar hinterlassen

Name (erforderlich)

E-Mail (erforderlich) (wird nicht veröffentlich)

Webseite