für open x-news (s. signatur) möchte ich den benutzern eine datenbank-backup-funktion zur verfügung stellen. da es umständlich wirkt (vorallem bei denen, nicht mit phpMyAdmin nichts zu tun haben) immer per PMA ein backup zu erstellen, soll die funktion im adminbereich ausführbar sein. ich bräuchte dazu lediglich ansätze, die mir eine solche funktion erläutern (speichern una andere sachen kann ich selber programmieren).
könnte mir da einer behilflich sein?
thx schonmal
eine eigene Funktion dafür gibt es leider nicht.
Ich habe auch mal so eine Frage gestellt und eitl. keine Antwort bekommen.
Das einzige was ich dir vorschlagen könnte wäre sehr umständlich
Vorschlag:
gib durch [COLOR=„Blue“]mysql_list_tables die tabellen aus.
Dann hohlst du dir z.b. in einer Whileschleife für jede Tabelle
mit [COLOR=„blue“]SHOW TABLE STATUS alle infos die du brauchst.
Jetszt liest du alle Daten der Tabelle aus und packst sie in entsprechede Mysql-anweisung.
Sowas wie:
CREATE TABLE '$tbl_name' (
bla int(20) ............
........
)
INSERT INTO '$tbl_name' ('$spalte') VALUES ('$val')
INSERT INTO '$tbl_name' ('$spalte') VALUES ('$val')
INSERT INTO '$tbl_name' ('$spalte') VALUES ('$val')
So ein Code erstellst du dann halt für jede Tabelle mit den jeweiligen Datensätzen.
Wenn damit fertig für alles diesen Code zu generieren, speicherst du ihn in einer *.sql datei und bietest dem user es zum download an
Ich würde das so angehen:
Ich würde wenn das Projekt fertig is, die Namen alle Tabellen in einer Extra Tabelle speichern.
Diese wird dann abgefragt.
Nun hast du die Namen aller Tabellen.
Nun benutzt du die Funktion DESC um die Struktur zu bekommen. Dann fragst du alle Datensätze ab und lässt sie in eine Textdatei? eintragen.
Das nun für jede Tabelle machen.
Prinzip dürfte denk ich, klar sein.
das nutzt aber den nichts-checkern auch nicht, weil viele nicht mal wissen, was eine datenbank ist.
es sollte so komfortabel gehalten werden, dass der größte trottel ein backup machen kann.
Wenn du das in ein Script packst und dann als cronjob startest, braucht Mr. Normaluser nicht einmal das Backup-Script zu starten.
Du brauchst für das Recovery ebenfalls ein Script. In diesem werden die gesicherten Dateien (aber nur die jeweils jüngste Version) auf die gleiche Weise zurückgespielt. Viel einfacher geht es nicht. Der User braucht dann nur so etwas wie „dbrecovery“ (oder wie das Script sonst heißen soll) einzugeben, und schon läuft die Sache.
Wenn du Hilfe beim Erstellen brauchst: PN/ Mail an mich:
kratzbaum(at)gmx.info
Auch ein relativ unbedarfter User kann so etwas starten.
P.S. Ich würde nicht unbedingt den größten Trottel für derartige Aufgaben nehmen. Etwas Erfahrung im Unix/Linux-Bereich sollte er schon mitbringen. Es reicht nicht, wenn er sich
unfallfrei einloggen kann. Du läßt doch auch nicht einen Erstklässler deinen PC „reparieren“.
P.P.S: Ich bin seit 17 Jahren im Unix-Umfeld tätig und habe einige Zeit selbst Datenbanken (Informix, Ingres) administriert.
Na gut, dann muss sich Mr. Normaluser eben die Namen von 2 Prozeduren merken.
Aberdas Prinzip ist gut. So arbeitet mein Arbeitgeber schon seit Jahren.
Sicherung der Produktionsumgebung (hier:Mysql) und Sicherung der Daten.(Ich selbst bevorzuge cpio im Script - geht sehr schnell)