Sonntag, 19. August 2007

MySQLDumper, das praktikable Backup- und Restore-Tool

In meiner Freizeit bastle ich oft am Web-Auftritt eines Sportvereins (www.tsv-oberensingen.de) herum, in dem ich auch noch ein Ehrenamt hab (Leiter der Tischtennisabteilung). Dieser Web-Auftritt basiert auf dem freien, MySQL-basierten CMS TYPO3.

Bei größeren Experimenten mit dem System (die auch mal schiefgehen könnten...) kopier ich mir die Dateien aus dem Web Space sowie die MySQL-Datenbank aus der gehosteten Provider-Umgebung in eine lokale WAMP-Umgebung und hinterher (wenn ich weiß, dass alles tut) wieder zurück.

Der dateibasierte Teil des Datentransfers ist unproblematisch, mit Total Commander oder Filezilla lassen sich auch größere Verzeichnisbäume per FTP kopieren.

Ganz anders sieht es beim Backup und Restore der Datenbank aus. Da ich keinen SSH-Zugang zu dem gehosteten Server habe, kann ich hier keinen mysqldump direkt von der Kommandozeile aus machen und musste mich bisher immer mit dem vom Provider gestellten phpMyAdmin begnügen.

Leider ist phpMyAdmin weder zum Erzeugen großer Dumps noch um diese wiedereinzulesen wirklich geeignet, da es bei der Dump-Erzeugung in den bei PHP-Skripten üblichen 30-Sekunden-Timeout läuft und außerdem beim Einlesen von SQL-Files eine 16-MB-Grenze setzt. Als Workaround kann man dann alles in kleine Häppchen aufteilen (z.B. tabellenweise), aber das ist wirklich ein Riesenaufwand und kaum praktikabel.

Die Lösung des Problems brachte das freie Backup-/Restore-Tool MySQLDumper, das man von www.mysqldumper.de runterladen kann. Das Skript umgeht das Timeout-Problem dadurch, dass jeweils nur ein kleiner Teil der Daten gedumpt wird und es sich dann selber aufruft und an der Stelle fortsetzt, wo es war. Für den Benutzer ist der ganze Vorgang völlig transparent, er hat am Ende ein ZIP-File mit einem kompletten Dump der Datenbank.

Die Installation von MySQLDumper ist wirklich sehr einfach und komfortabel, man legt auf dem Web Space ein Unterverzeichnis mysqldumper an und entpackt alle Dateien der aktuellsten ZIP-Distribution dorthin, dann ruft man im Browser http://www.meinserver.de/mysqldumper auf, die Erst-Einrichtung geschieht dialoggeführt.

 

Weitere tolle Features:

  • Der Installer legt alle benötigten Unterverzeichnisse selber an, falls es beim ersten Versuch fehlschlägt, sogar alternativ unter Benutzung des FTP-Protokolls
  • MySQLDumper kann auch Dump-Files wiederherstellen, die mit anderen Programmen erzeugt wurden
  • Einrichtung des Verzeichnisschutzes direkt im MySQLDumper, kein Hantieren mit .htaccess usw. nötig
  • sehr aktives Support-Forum unter www.mysqldumper.de

Keine Kommentare: