Hallo, ich musste bisher noch keine Datenbanksicherung zurückspielen, was an sich schön ist. Meine Datenbanksicherung erstelle ich über phpMyAdmin. Um das mal zu probieren, um meine DB-Sicherung von meinem Shop testweise aufzuspielen, habe ich auf meinem Webspace eine Datenbank angelegt und versucht, meine Shopdatenbank durch einen Import dorthin zu importieren. Ich bekomme einen 504 Fehler. Die max_execution_time reicht nicht aus, ich kann sie auch nicht erhöhen. Mein Hoster sagte mir, dass ich das über SSH machen muss, zum Beispiel über das Programm Putty. Ich speicher meine DB auch noch zusätzlich über MyOOSDumper, aber das wird mir wohl auch nichts nutzen, ich werde wohl den gleichen Fehler beim Zurückspielen bekommen. Hm, Frage: Wie macht Ihr das mit dem Rückspielen der DB - läuft das durch? Oder auch dann die Frage, kennt einer Putty, funktioniert das dann? Danke und Gruß Bernd
mit MyOOS sichern und zurückspielen sollte gehen. Wenn einzelne Tabellen zu groß sind, kann man auch splitten (auch mit MyOOS, da bricht allerdings schon das Erstellen der Sicherung ab)
Wenn Du einen SSH Zugang hast, ist das der solideste Weg um Backups zu erstellen. PuTTY ist ein SSH-Client für Windows. Damit kann man sich von einem Windows PC auf einem z.B. Linuxserver einloggen. Man gibt die Parameter für die Verbindung/Anmeldung vor (Benutzername, Passwort, Hostname, evtl. Port) und findet sich dann in der Konsole mit einer Kommandozeile wieder, wo man Befehle eingeben kann. Für ein DB-Backup wäre das höchstwahrscheinlich der Befehl mysqldump mit noch ein paar nötigen Argumenten. Wenn dieser Befehl ausgeführt wird, läuft er einfach so lange bis er fertig ist. Danach kann man den nächsten Befehl eingeben. Da läuft eine Sicherung oder Rücksicherung einfach durch, es gibt keine Timeoutprobleme wie bei den PHP-Skripten. Ein weiterer Vorteil liegt darin, dass sich da fast alles mit Shellskripten automatisieren lässt, z.B. zeitgesteuert Backups erstellen lassen und die Sicherungsdatei dann nochmals auf einen anderen Server an einem physisch getrennten Ort kopieren. Für Leute, die keine Kommandozeile mögen oder benutzen wollen, gibt es zur DB-Administration auch Windows Programme mit grafischer Benutzeroberfläche mit denen man sich über einen SSH-Tunnel mit dem DB-Server verbinden kann, wie z.B. HeidiSQL. Dort kann ein Backup über die Table tools als SQL export gemacht werden. Wie von @Peru schon angesagt, sind die Backup-Tools der Hoster oftmals auch ein guter Weg, denn sie sind spezifisch vom Hoster dafür eingerichtet. Könnte aber auch sein, dass Dein Hoster, lieber @Bernd uusk, da nichts anderes als SSH hat, wenn er dir gesagt hat, dass Du das darüber machen sollst. Bei welchem Hostingprovider bist Du denn?
Ich Danke Euch. Pepe - sehr schön beschrieben, was die Antworten von Peru und Barbara aber nicht schmälern soll. Mein Hoster ist alfahosting.
Was mich etwas verwundert ist die Tatsache, dass ich den Fehlerhinweis: "504 Gateway-out" schon beim Sichern der Bilder über den Admin "Bilder sichern" erhalte. Denn, es sind ja "nur" ca. 5000 Bilder im original_images Bilderverzeichnis.
Nun ja, auch hier läuft die Ausführung des scripts /admin/gm_backup_files_zip.php in einen Timeout, weil das Script für die Erstellung der ZIP-Datei länger braucht als ihm zur Verfügung steht. Ist bei mir auch so. Die zur Verfügung stehende Zeit (in Sekunden) für die Ausführung eines PHP-Scripts in Deinem Hostingpaket erfährst du im Admin unter Toolbox > Server Info. Dort nach dem Wert "max_execution_time" suchen.
Hängt auch von der Größe der Datenbankdatei ab. Bei mir funktioniert das bis ca. 300 MB mit phpMyAdmin. Um welche Größe geht es?
Das Verzeichnis original_images hat 4990 Bilder mit einer Größe von 360,9 MB. Ungefähr die Hälfte von der Anzahl der Bilder ist die Anzahl meiner Artikel, ca. 2400 Stück, da fast jeder Artikel zwei Bilder hat. Also, ca. 2400 Artikel mal ca. zwei sind ungefähr 4800 Bilder, sind dann, wie schon geschrieben, 360,9 MB, nur in dem einen Verzeichnis. Meine DB Sicherungsdatei xxxx.sql ist nur 14,6 MB groß, also letztlich doch sehr klein. Verstehe ich eigentlich nicht, wenn Bei Dir 300 MB durchlaufen, und bei meinen wenigen MB Probleme auftreten. Meine Daten: "max_execution_time":"900", Kann das auch an etwas Anderem liegen? Unter Berücksichtigung der sehr kleinen DB und der doch recht großzügig bemessenen max_execution_time sollte das doch problemlos funktionieren.
Ok ok, irgendwie war ich bei im Zusammenhang mit Import/Export in PhpMyAdmin direkt von einem komprimiertem Dumpfile ausgegangen, aber das steht ja nirgends bei mir. So leicht passieren Missverständnisse. Man sollte doch immer ganz genau dazuschreiben, was tatsächlich gemeint ist. Die Entropie einiger Tabellen der Gambio Datenbank ist ja nun nicht sehr hoch - das lässt sich sehr gut komprimieren.
In phpMyAdmin hat mir folgendes geholfen: Zu einen muss links beim Import immer eine Datenbank gewählt werden, in die importiert wird. Beim Export darauf achten, das phpMyAdmin keine Zeile create database erzeugt hat (kann man beim Export über phpMyadmin unter erweitert ggf. einstellen). In jedem Fall kann man die Mysql-Datei mit einem Editor öffnen und nachsehen ob am Anfang ein Eintrag mit "create database ..." vorhanden ist. Den Eintrag dann löschen. Obiger Eintrag hat bei meinen Importen dazu geführt, dass der Import sich aufgehangen hat und ggf. unspezifische Fehlermeldungen angezeigt wurden. Evtl. ist ein Timeout ebenfalls darauf zurückzuführen. Das Exportieren und Importieren ist auch wichtig, um auf eine andere Datenbankversion zu gehen. Daher ist es gut, wenn das mit "Bordmitteln" des Hostings funktioniert.
Alexander, danke für Deine Antwort. ich hatte die Datenbanken von meinem Testshop und meinem Live-Shop exportiert. Anschließend habe ich mir eine Testdatenbank angelegt. Meine Test DB (ca. 11 MB) ließ sich problemlos in die Testdatenbank importieren. Meine Live DB (ca. 15 MB) ließ warf mir einen 504 Fehler. Beides über phpMyAdmin gemacht.