MySQL Datenbanken mit MySQLDumper sichern


Autor: Alexander Fox <howtoforge [at] planetfox.de [dot] de>

Create: 25/04/10

Version 1.0

Folge mir auf Twitter | Diese Seite   zu Mister Wong hinzufügen Folge mir auf Mr Wong
MySQLDumper ist ein Sicherungsprogramm für MySQL-Datenbanken, geschrieben in PHP und Perl. Damit können Sicherungskopien von Daten (Forum, Shop, Blog, usw.) erstellt und bei Bedarf auch wieder hergestellt werden. Besonders bei Web-Space ohne Shell-Zugang bietet sich MySQLDumper als sinnvolle Alternative an.

PHP Skripte werden aus Sicherheitsgründen nach einer bestimmten Laufzeit ( normalerweise nach 30 Sekunden) abgebrochen; dieser Wert wird in der php.ini festgelegt. Hat man nun eine sehr große Datenbank zu sichern, gibt es dann ein Problem. Das Backup startet zwar, bricht aber nach einer gewissen Zeit ab. Damit hat man keine vollständige Sicherungskopie. Das selbe Problem besteht beim Zurücksichern. Man kann natürlich stückchenweise sichern, nur der Aufwand ist sehr arbeitsintensiv. Mit MySqlDumper kann man dies schöner und schneller machen.

1. Wie MySQL Dumper das Problem mit dem Timeout löst

MySQLDumper umgeht den Timeout-Error mit Hilfe eines kleinen Tricks: Er liest nur eine bestimmte Anzahl von Datensätzen aus der Tabelle aus, merkt sich wie weit er gekommen ist, und ruft sich anschließend selbst auf. Dadurch erhält das Skript bei jedem Aufruf wieder die volle Ausführungszeit und umgeht so geschickt das Problem des Abbruchs durch den Server. Das gleiche Prinzip benutzt MySQLDumper auch beim Wiederherstellen der Daten.

Bitte beachtet dass ich als Hostname www.example.de verwende.

2. Installation von MySQL Dumper


Die Installation von Mysql Dumper gestaltet sich relativ einfach, Ihr ladet euch von der Webseite http://www.mysqldumper.de die Files unter dem Punkt Download herunter. Nachdem Ihr die Dateien lokal entpackt habt, müsst ihr die Dateien auf euren Webspace mit einem FTP-Programm laden. Ich verwende hier Filezilla, das für Linux und auch Windows zur Verfügung steht.


Nachdem Ihr die Files auf eurem Webspace habt, setzt die Berechtigungen für die config.php datei auf 777:


Da wir später ein Verzeichnis benötigen mit dem Namen work, erstellen wir dieses auch, die Berechtigung müssen wir wieder setzen mit 777.

Nun können wir die Seite im Webbrowser aufrufen mit www.example/index.php. Diese leitet uns gleich weiter zur install.php, auf der wir eine Seite finden, mit der wir die Sprache festlegen können. Ich habe hier Deutsch gewählt. Um fortzufahren, klicken wir auf Installation.

3. Zu sichernde Datenbank eingeben

Nun müssen wir die Datenbankdaten für unsere Datenbank eingeben, die wir später sichern möchten.


Es geht nun weiter mit Speichern und mit Installation fortfahren.

Es kann passieren dass ein error kommt mit der Information:

Acess Denied

Das könnte dann passieren, wenn Apache mit SuPHP oder fcgi läuft, wenn Ihr selbst der Provider seid. Dann sollte Euch diese Information auf der Webseite hier  helfen: http://www.debianroot.de/server/php-session-save_path-debian-fcgid-1029.html.

4. Statusinformationen

Nun seit Ihr mit der Installation fertig und landet auf der MySQLDumper Haupseite:

5. Verzeichnisschutz erstellen

Das Verzeichnis ist derzeit nicht geschützt, wir werden nun auf Verzeichnisschutz klicken und diesen erstellen. Benutzername und Passwort Eurer Wahl eingeben:


Ihr werdet danach gefragt ob Ihr den Verzeichnisschutz wirklich erstellen wollt, dies beantworten wir mit OK:


Nun müssen wir uns mit den Daten einloggen, die wir gerade erstellt haben:


Nun sehen wir den Inhalt der erstellten Datei .htaccess:


6. Konfigurationsmöglichkeiten

Wir klicken nun auf Konfiguration und können verschieden Einstellungen hier vornehmen. So könnt Ihr das später erstellte Backup beispielsweise auf einen zweiten Server sichern. Aber da könnt Ihr euch selbst Gedanken machen, ob Ihr das ein oder andere Features von MySQLDumper nutzt.


7. Erstellen des Datenbank-Backups

Wir gehen auf Backup, das so aussehen sollte:


Dann auf "Neues Backup starten", danach startet das Backup:


Wenn das Backup fertig ist, sollte Folgendes auf Eurem Bildschirm erscheinen:


Nun geht Ihr auf Verwaltung und könnt Euer MySQL Datenbank Backup sehen:


Das Datenbank Backup könnt Ihr auch über Euren FTP Programm  im Ordner /work/backup sehen. Natürlich könnt Ihr es jetzt auch manuell herunterladen:

8. Backup wiederherstellen

Wenn Ihr ein Backup wiederherstellen möchtet, geht auf den Button Wiederherstellung und Ihr seht all eure bisherigen Backups:


Nun wählt Ihr das Backup aus, das Ihr wiederherstellen möchtet, und klickt auf wiederherstellen. Es kommt dann noch einmal eine Sicherheitsabfrage, ob Ihr das wirklich tun möchtet. Mit OK bestätigen:


Danch erfolgt wieder die Bestätigung, dass die Datenbank wiederhergestellt wurde:


So, dann viel Erfolg beim "Backupen" Eurer Datenbanken!

Links:

MysqlDumper: http://www.mysqldumper.de/
DebianRoot: DebianRoot