MySqlDumper mit PHP ist eine Backuproutine für MySQL-Datenbanken.
Entstanden ist sie aus folgendem Grund:
PHP-Scripte werden nach einer bestimmten Laufzeit abgebrochen (normalerweise nach 30 Sekunden) und so funktioniert ein Backup, mit zum Beispiel phpMyAdmin, nur bis zu einer bestimmten Größe. Braucht das Script länger als die 30 Sekunden, so wird es vom Server einfach abgebrochen und man kommt nicht mehr an sein Backup ran.
Gleiches gilt für das Wiedereinspielen eines Backups.
Wer einmal ein Dumpfile von Hand in viele kleinere Einzelabschnitte zerlegt hat, um eine Datenbank wieder herzustellen, der weiß genau wovon ich rede.
Ich habe verzweifelt im Internet nach einer Lösung gesucht, aber alle Scripte, die ich gefunden habe, liefen auch auf den Timeout-Error.
Also musste ich mir selbst helfen und hier ist nun das Ergebnis.
Mein Script umgeht den Timeout-Error mit Hilfe eines kleinen Tricks:
Es liest nur eine bestimmte Anzahl von Befehlen aus der Tabelle aus, merkt sich wie weit es gekommen ist und ruft sich anschließend selbst auf. Dadurch erhält das Script bei jedem Aufruf wieder die vollen 30 Sekunden und so umgehe ich den Timeout-Error.
Das gleiche Prinzip benutze ich dann auch beim Wiederherstellen der Daten.
Das Script kann die Daten beim Sichern sofort packen und in eine „.gz“-Datei speichern.
Auch das Wiederherstellungsscript kann direkt aus dieser gepackten Datei lesen, ohne dass sie auf dem Server entpackt werden muss!
Natürlich kann man die Datei auch ungepackt lassen, aber spätestens beim Hochladen eines Backups weiß man dies zu schätzen.
Wer will kann sich mein Script herunterladen und damit dann Sicherungen seiner MySQL-Datenbank anlegen.