Betreibt man MySQL auf einen Server der Cron-Jobs erlaubt, kann man MySQL-Datenbanken täglich auf einen Schlag sichern. Dabei spielt es keine Rolle ob inzwischen neue Datenbanken erstellt oder welche gelöscht wurden, das Script selbst bleibt unverändert.

MySQL Backup: One Script to rule them all …

Das folgende Bash-Script ermittelt alle aktuell vorhandenen MySQL-Datenbanken, und schreibt im laufenden Datenbankserver-Betrieb komprimierte MySQL-Dumps in einen lokalen Ordner (BACKUP_DIR). Es kann eingestellt werden, wie viele solcher Kopien vorgehalten werden (HOLD_DAYS). Ältere Ordner werden automatisch gelöscht.

Gleich mit erledigt: MySQL Datenbanken prüfen und reparieren

Um die Integrität der zu wahren, werden alle MySQL-Datenbanken vor der Sicherung automatisch geprüft und Fehler ggf. korrigiert.

Idealer Weise sollte das Script täglich als Cron-Job laufen. Die gesicherten Dateien sollten entweder direkt auf eine Freigabe auf einem anderen Server abgelegt oder täglich per FTP oder WGET auf einen anderen Rechner gesichert werden.

Alles verpackt in einem einzigen Script, werden so Prüfen, Reparieren und Sichern aller MySQL-Datenbanken dann ab sofort täglich automatisch erledigt:

Wichtig: Das Zurücklesen einzelner MySQL-Datenbanken erfolgt per Kommandozeile mit mysql, nicht mysqldump:

MySQL Backup: One line to rule them all …

Benötigt man keine separaten MySQL Dumps, kann man das Backup aller MySQL-Datenbanken auch elegant mit 1 Zeile erledigen. Ideal, um alle MySQL-Datenbanken schnell auf einen neuen Server umzuziehen. MySQL Dump erzeugt dann eine einzige Datei,  die alle MySQL-Datenbanken beinhaltet:

Auch hier gilt: Für die Rücksicherung alle MySQL-Datenbanken muss hier anstatt mysqldump ebenfalls das Kommando mysql verwendet werden:

Benötigt man nur eine einzelne MySQL-Datenbank aus der Komplettsicherung, dann hilft der folgende Befehl:

Dann viel Spass damit – und immer schön sichern :-)