mysql-Datenbank Backup

Es ist immer wieder erschreckend, wie manche Leute mit Datenbank-Backups umgehen. Deshalb mal kurz ein paar Infos, damit die Leser es besser machen als manch “professioneller” Hoster:

Cold Backups
Viele Jahre ist es her, da war eine beliebte Strategie, das Dateisystem einfach zu kopieren, typischerweise /var/lib/mysql/. In diesem Ordner gibt es für jede Datenbank einen separaten Unterordner, der recht simpel kopiert werden konnte. Das war allerdings zu Zeiten, als die Datenbankformate noch limierter waren. Seit den Zeiten von innoDB ist das nämlich nicht so einfach:

  • Je nach Konfiguration werden alle innoDB-Tabellen aller Datenbanken in einer Datei gesichert – also nicht mehr getrennt nach Datenbank, womit das Widerherstellen kritisch ist.
  • Wenn man es schon eingestellt hat, dass die innoDB-Daten separat gespeichert werden, dann muss man vorher den mySQL-Server stoppen, damit das Backup konsistent ist. Ohne diesen Stop des Datenbankservers kann es sein, dass Referenzen zwischen den Tabellen nicht stimmen. Das Herunterfahren des Datenbankservers ist aber kritisch, da damit das Webangebot selbst ja nicht erreichbar ist. Erstaunlicherweise ignorieren viele dieses Problem und führen sogenannte “Cold Backups” ohne Server-Stop durch. Sehr gefährlich!

In der Enterprise-Version von mySQL gibt es inzwischen die Möglichkeit für “Hot Backups”, also Backups ohne Stop der Datenbank. Aber die wenigsten dürften eine Enterprise-Version ihr eigen nennen.

mysqldump
Die mit Abstand sicherste Methode für Datenbank-Backups ist die Verwendung von mysqldump. Es werden versionsunabhängige Text-Backups erstellt, die sich einfach umziehen lassen, einfach wiederherstellen lassen und vor allem, die konsistent sind. Die Verwendung ist mindestens so einfach, allerdings gibt es Probleme bei sehr großen Datenbanken, weil die Performance doch deutlich leidet. In der Praxis hatte ich damit bisher aber nur Probleme bei mehreren Gigabyte großen Tabellen.

Bin für Kommentare bzgl. euren Backup-Strategien sehr gespannt.

Ein Gedanke zu „mysql-Datenbank Backup

  1. Hallo Mathias,

    ich habe gerade deine Seminararbeit “Einführung in Klassifikations-Systeme und Multi-Klassifikationssysteme” gelesen. Ich fand sie wirklich gut. Danke schön dafür, dass sie veröffentlicht wurde.

    In deiner Literaturliste war unter anderem “[2] Mustererkennung mit statistischen Methoden – Vorlesungsscript Jürgen Schürmann, DaimlerChrysler AG, Stand 2000”.
    Ich habe gerade mit meiner Diplomarbeit angefangen und mein Professor hat mir Jürgen Schürmann empfohlen. Ich wäre dir sehr dankbar, wenn du mir mitteilen würdest, wo ich mir das Vorlesungsscript besorgen kann.

    Ich bedanke mich im Voraus ganz herzlich für deine Antwort.

    Viele Grüße

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.