Julian von Mendel: (MySQL) Datenbankbackups komfortabel speichern und einspielen

Beitrag lesen

Hallo,

ich muss aus einer PHP-Webanwendung heraus, die unter Windows, Linux und MacOS X laufen soll, eine Datenbank mit ca. 2000 Zeilen und 60 Spalten komplett in möglichst hoher Geschwindigkeit backupen können (soll bei jedem Login einmal passieren), und, auf User-Wunsch, ein gespeichertes Backup wieder einspielen. Ich stelle mir das so vor, dass die Datenbank in eine Datei gebackupt wird, die Backups aufgelistet, und bei Klick zurück geladen werden. Jetzt stellt sich die Frage, wie man die Datenbank am Klügsten ohne User-Interaktion in eine Datei backupt...
Ich habe dazu die Tools mysqldump und mysqlimport gefunden. Ich habe mit denen keine Probleme, über die Konsole. Der Pfad zu den Tools ist aber bei den verschiedenen Systemen unterschiedlich. Unter Windows mit XAMPP z. B. liegen sie standardmäßig in C:/xampp/mysql/ - unter Linux sind sie meistens in $PATH mit drin (sowas gibts aber mit DOS glaube ich nicht?). Wie es mit MacOS aussieht, weiß ich nicht, aber ich schätze, dass es da seit OS X ähnlich wie unter Linux aussieht. Wie rufe ich die Programme jetzt am sinnvollsten auf, ohne für jedes System den Pfad abfragen zu müssen? Oder gibt es klügere Alternativen? (Ich habe gesehen, dass man theoretisch auch einfach das Datenbank-Verzeichnis kopieren kann, aber dann muss ich das erst mit zip/tar/etc. bearbeiten und habe das gleiche Problem wie bei der anderen Methode. phpBB und phpMyAdmin haben eine Funktion zum Im- und Export selbst implementiert, denen ihr Code ist mir aber zu unübersichtlich, d. h. das Nachbauen wäre sehr aufwendig.)

Schöne Grüße
Julian

--
"Real programmers can write assembly code in any language." - Larry Wall