[PHP] MySQL-Backup erstellen

glowhand

Programmierer
21 April 2006
273
16
Hallo!
Möchte auf einer Webseite den Seitenbetreiber im Administrationsbereich die Möglichkeit geben, mit einem Klick ein Backup zu downloaden.
Dazu werden alle Dateien in eine ZIP-Datei gepackt und auf dem Space gespeichert.
Nun möchte ich allerdings, dass der gesamte Datenbankinhalt zuvor als Textdatei auf dem Space gespeichert wird, um diese dann auch mit zu zippen.
Und da stoße ich leider an meine Grenzen.
Ich habe es natürlich erst einmal mit SELECT INTO OUTFILE versucht:
Acces denied. Es fehlen also die Zugriffsrechte (der Server, auf der die Seite läuft, gehört nicht uns, sondern es wurde nur Webspace gemietet).
Der Aufruf der mysqldump.exe mit system() scheitert auch. Ich nehme an, das liegt im safe_mode.
Ich muss aber irgendwie an den SQL-Code der Datenbank kommen. phpMyAdmin ist tabu. Der, für den ich die Seite programmiere, soll es möglichst einfach haben. Er kennt sich mit dem ganzen Zeugs auch nicht so aus.
Hat jemand eine Idee?
 
Ich denke mal du kannst doch ganz normal die Daten der Datenbank auslesen.
Also mit SHOW TABLES FROM "database" alle Tabellen auslesen, dann jede Tabelle durchgehen und alle Daten auswählen SELECT * FROM `table` und diese durchgehen. Wenn du die Daten mittels mysql_fetch_assoc() holst, kannst du dann das Array durchgehen und anhand des Keys weißt du ja wie die Spalte heißt. Dann einfach immer eigene Querys erstellen. Diese am Ende dann in der Datei speichern.
 
Ganz praktisch könnte auch noch der folgende Befehl sein:
Code:
SHOW CREATE TABLE <table>;
 
Ich danke euch.
Habe jetzt Chrissels Möglichkeit genutzt.
Statt alles selbst zu programmieren, habe ich eine wunderbare Klasse gefunden, die mir das erledigt.