PHP Datenbank in Datei sichern

Clocker 2800+

Lt. Commander
Registriert
Apr. 2007
Beiträge
1.409
Hi.

wie kann ich mit php-Befehlen die gesamte Datenbank (auch etwas größere Datenbanken) in eine Datei sichern, die dann auf den eigenen Webspace gespeichert wird ?
 
Irgendwie geht das alles nicht.

PS. Vielleicht liegt es daran, das ich meine Webseite auf einen Free-Webhoster habe ?

Wenn ich es allerdings über phpmyadmin manuell mache, dann geht es einwandfrei.
 
eigentlich ja nicht, nur dass ich halt dann das Backup jedes mal manuell machen MUSS.

Und so könnte ich ein kleines php-script schreiben, für welches ich dann ein automatischen conjob einrichte, sodass es vollautomatisch passiert.
 
das

PHP:
$tableName  = 'mypet';
$backupFile = 'backup/mypet.sql';
$query      = "SELECT * INTO OUTFILE '$backupFile' FROM $tableName";
$result = mysql_query($query);

hab ich schon ausprobiert, geht aber leider nicht.

Free-Webhoster ist 000webhost.
 
und was passiert? Bekommst Du eine Fehlermeldung (welche)?

Schreibzugriff auf dem Ordner vorhanden? Mal testweise $backupfile ausgegeben, ob der Pfad auch stimmt? Ausreichend Platz vorhanden?
 
Leider kommt überhaupt keine Meldung. Einfach nur eine leere weiße Seite.

Und die Dateigröße bleibt immer noch auf 0 Byte.

Schreibrechte der Datei und am Ordner hab ich 777 eingestellt.
 
Naja also MySQL kennt deinen aktuellen Pfad ja nicht von daher ist die Angabe des relativen Pfads hier natürlich verkehrt. Deine Homepage liegt nämlich sicher irgendwo in "/var/www/vhosts/clocker/public_html/" oder so ähnlich und nicht im root- oder MySQL-Verzeichnis ;)

Also versuch mal deinen absoluten Pfad rauszukriegen und gib den an. Normalerweise schreibt der Provider das in den FAQs irgendwo, alternativ gehts auch über ne PHP-Datei mit "<?php phpinfo() ?>" oder "<?php echo $_SERVER['DOCUMENT_ROOT']; ?>" oder "<?php echo realpath("."); ?>"!

Des Weiteren ist die "INTO OUTFILE"-Funktion auch oft aus Sicherheitsgründen vom Administrator deaktiviert. Wenn das der Fall sein sollte, kannst du wegen dagegen tun und musst es eben anderweitig sichern (mit php Ergebnisse holen und dann in ne Datei abspeichern). Im Übrigen gibt es dafür auch schon sehr schöne fertige Programme wie z.B. http://www.mysqldumper.de/
 
Zurück
Oben