• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

MYSQL - PHP übernimmt export

Status
Für weitere Antworten geschlossen.

Frank

Neues Mitglied
Hallo,

Ist es möglich, durch php ein Backup einer MySQL Datenbank anzulegen und
  1. Das Backup auf dem Server speichern
  2. Das Backup durch einen Link dem Benutzer zum Download bereitzustellen

Was ich genau machen will:
Ich habe für meine Seite http://www.ts-onlyfree.de einen adminbereich erstellt http://admin.ts-onlyfree.de in dem man z.B. neue News etc. eintragen kann.
Diese Seite ist durch ein Login (MySQL+SESSIONS) geschützt.
Bei jedem Login soll automatisch ein Backup der Datenbank erstellt werden und auf dem Server gespeichert werden. Auf der ersten Seite die man nach dem Login betritt (home) soll man dann über einen Link diese Datei downloaden können.
Aber auch wenn man die Datei nicht downloaded soll sie auf dem Server gespeichert bleiben

Mit Backup einer Datenbank meine ich das, was man in phpmyadmin per 'export' machen kann.

Danke schonmal^^
 
Zuletzt bearbeitet:
Ja das geht.
Schau dir eventuell mal an wie MySQLdumper arbeitet.

Ansonsten recht spartanisch ...
Die Namen aller Tabellen der Datenbank auslesen, mysql_list_tables()
Dann das Array mit einer Schleife durchlaufen und pro Eintrag alle Spalten auslesen, mysql_list_fields, und ein CREATE in eine Datei schreiben.
Dann in einer zweiten Schleife pro Eintrag alle Daten auslesen und dann formatiert mit INSERTS etc. in eine Datei schreiben.

Spiel was rum oder versuche einfach MySQLdumper aufzurufen .. das ist sicherlich der "einfachste" Weg.
 
Naja Schade,
dann wird das wohl wieder so eine umständliche sache...

Hatte eigentlich gehofft, das es eine einfache Funktion gibt und man das dann z.B. so machen könnte:
PHP:
<?
$backup = mysql_backup(tabellenname,tabellenname,tabellenname...);
?>
<a href="$backup.sql">Download</a>
 
mysqldump, wurde doch schon 5 mal erwähnt.
einfach proc_open benutzen und das passwort in den eingabekanal schicken. (ich glaube es gibt [zum glück?] keine möglichkeit das per parameter zu machen)
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben