Komplettes Datenbank Backup mit "SELECT ... INTO OUTFILE"
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
allgemeinen dokumentation
code
datenmenge
datum
feststelle
frage
funktion
gescheites
http
korrekte abfrage
moment
obige abfrage
ordner
pfad
relativ umfangreiche datenbank
system
teil
url
wahrscheinlich aufpassen
zugriff
-
Heyho
Ich hab mal ne Frage. Ich möchte ein einfaches simples Backupskript für eine relativ umfangreiche Datenbank. Wenn ich es von Hand erstelle wird des wegen einem Timeout mal einfach nichts. Ich habe aber mal etwas gelesen wie "SELECT ... INTO OUTFILE", doch ich find bei Google nichts gescheites.
Wie würde ich hier den SQL Code gestallten? Ich werd aus dem allgemeinen Dokumentation von MySQL irgendwie nicht schlau. Kann es sein, dass es aussehen müsste wie:
SELECT * INTO OUTFILE '/my/backup/file.sql';
Aber ich habe leider im Moment bis zum WE keine Testmöglichkeit. Darum wollte ich erstmal hier fragen.
Außerdem: Ist es hier noch Laufzeitkritisch? Wird das Backup also von dem MySQL Daemon erstellt, und bei mir mein Skript läuft weiter, oder muss ich warten, bis der Daemon fertig ist mit dem Backup?
Ich bin verwirrt und brauche Input :(
Liebe Grüße -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hallo ggamee,
bei Deiner Abfrage ist der 'SELECT'-Teil unvollsträndig. Vor dem "INTO OUTFILE '<path to file>'" muss ja eine korrekte Abfrage stehen. Also sowas:
Aber bei dem Pfad musst Du wahrscheinlich aufpassen, da der Pfad im Dateisystem des Servers angegeben werden muss und daher unter umständen nicht relativ zum Webspace-Pfad ist.SELECT * FROM <tabelle> INTO OUTFILE '<path to file>'
Desweiteren sollte man bei einem Backup auch immer darauf achten, dass man die Daten auch wieder zurückspielen kann. Unter umständen ist das Format in dem die Daten durch obige Abfrage gespeichert werden dafür nur bedingt geeignet. Normalerweise sollte man Backups lieber mit mysqldump machen. Sofern auf Lima die system()-Funktion in PHP erlaubt ist könnte evtl. dieser Link für Dich interessant sein. -
darkpandemic schrieb:
Den Pfad solltest du hier unbedingt absolut angeben, da du dich im Ordner des Servers befindest.
Aber bei dem Pfad musst Du wahrscheinlich aufpassen, da der Pfad im Dateisystem des Servers angegeben werden muss und daher unter umständen nicht relativ zum Webspace-Pfad ist.
Allerdings ist fragwürdig, ob das auf lima-city überhaupt funktioniert, da du so Zugriff auf das Dateisystem hättest, und zwar als Daemon-Benutzer (also außerhalb von deinem Webspace-Ordner).
darkpandemic schrieb:
Das ist aber auf lima-city nicht erlaubt, wie du mit phpinfo feststellen kannst.
Sofern auf Lima die system()-Funktion in PHP erlaubt ist [...] -
Hallo alle miteinander,
da die system()-Funktion nicht zur Verfügung steht hätte ich hier noch eine alternative gefunden:
http://davidwalsh.name/backup-mysql-database-php
Dabei muss das Skript dann aber solange laufen, bis das Backup abgeschlossen ist. -
ggamee schrieb:
Heyho
Ich hab mal ne Frage. Ich möchte ein einfaches simples Backupskript für eine relativ umfangreiche Datenbank.
Hallo
wenn es um backup größerer Datenmengen geht (relativ umfangreiche Datenbank)
dann empfehle ich http://www.mysqldumper.de
ist zwar kein CSV (sondern MySQL backup)
aber damit bekommt man die Daten auch wieder zurück in MySQL
was sonst bei großen Datenmengen oft ein Problem ist
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage