MySQL-Datensicherung "Best Practise"

MySQL

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 wirklich 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 sagt:

    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 sagt:

    Doch kenne ich schon, ich steh aber eher auf mysqldump ;)
    Ansonsten kann ich “MySQL Administrator” bzw inzwischen “MySQL Workbench” empfehlen.

  3. Flo sagt:

    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 sagt:

    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 :)

  5. Patrick sagt:

    Inzwischen habe ich mir ein Shell-Script gebaut, welches jede einzelne DB sichert. Mit dem Script können außerdem auch entfernte MySQL-Server gesichert werden: http://www.techspread.de/4012/mysql-datenbanken-sichern

Hinterlasse einen Kommentar