Web-Ordner / Backup der MySQL-Datenbank

Status
Für weitere Antworten geschlossen.

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Guten Tag,

derzeit sichere ich mittels Time Backup täglich auf ein zweites Laufwerk meiner NAS den Ordner "web", welcher von phpMyAdmin angelegt wurde.
Allerdings ohne jedes Wissen ob die Datenbank, welche mittels phpMyAdmin und MariaDB verwaltet wird und um die es geht, auch wirklich in diesem Ordner liegt :rolleyes:

Um auf Nummer sicher zugehen, exportiere ich die DB zusätzlich manuell in phpMyAdmin.

Kann mir vlt. jemand sagen, wo genau die DB auf dem "web"-Ordner liegen sollte?
 

heavy

Benutzer
Mitglied seit
13. Mai 2012
Beiträge
3.801
Punkte für Reaktionen
178
Punkte
129
Es ist genau andersherum
MariaDB legt die DB an und phpMyAdmin verwaltet sie. Auch wurde der Ordner Web vom DSM angelegt (meistens bei der aktivierung der Webstation, die eigentlich beim installieren von phpMyadmin mit aktiviert worden sein muss). Da mariaDB ein eigenes Paket ist wird die Datenbank auch in ihrem Systemordner gespeichert und ist vom DSM aus überhaupt nicht zu erreichen.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Ok, dann hat die Sicherung des Web-Ordners also in Bezug auf das DB-Backup keinen Sinn - gut zu wissen.

Gibt es dann überhaupt eine Möglichkeit, die Datenbank mittels Time Backup zu sichern oder komme ich um einen Cron-Job mit dem entsprechenden Skript nicht herum?
 

heavy

Benutzer
Mitglied seit
13. Mai 2012
Beiträge
3.801
Punkte für Reaktionen
178
Punkte
129
Ganz ehrlich habe ich keine Ahnung habe selber noch nie ein scribt oder Cron-job angelegt. Ich sichere meine DS komplett auf die zweite und exportiere die DB von Hand auf eine Spiel/test/backup DS da der Import nicht immer klappt so kann ich sie so lange exportieren bis es klappt und habe dann solange das Zurückspielen des Backups läuft die Möglichkeit wenigstens die Webseite online zu halten. (Einmal vorgekommen da nach dem Fernzugriff des Supports ein paar Dinge nicht mehr gingen und ich mich, eventuell vorschnell, zu einem kompletten Reset der DS entschieden hatte. Da die 213+ Hot Swap unterstütz läuft da derzeit ein Raid1 gegen den Ausfall einer Platte.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Bei mir hängt die Firmensoftware an der Sicherung - von daher muss die DB jeden Abend gesichert werden.

Also entweder mittels phpMyAdmin-Export, MySql-Dump oder eben besagtem Skipt. Aus Gründen der Sicherheit, dass der Export auch wirklich geklappt hat, sind die ersten beiden Varianten sicherlich die besten. Aus Gründen der Komfortabilität, hätte ich v.a. langfristig gerne etwas automatisiertes :D

Also werde ich mir das Skript offenbar nochmal anschauen müssen, danke erstmal für die Infos ;-)
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.066
Punkte für Reaktionen
9
Punkte
64
In DIESEM Thread findest Du ein PHP-Script, welches Du anpassen könntest und via Cron startest um einen automatisierten SQL Dump zu haben.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Vielen Dank für die Hinweise. Ich habe das tägliche Backup der Datenbank mit folgendem Skript:

http://www.synology-wiki.de/index.php/Backup_der_MySQL-Datenbank_%C3%BCber_einen_cronjob

sowie folgendem Cron-Job:

http://www.synology-wiki.de/index.php/Cron

... realisiert, das Backup wurde auch schon erfolgreich durchgeführt.

Nun stehe ich jedoch vor der Frage, wie ich die Datenbank (200 Mb) am elegantesten mittels phpMyAdmin importieren sollte.
Der Direktimport schlägt fehl, da die DB > 32 Mb ist. Die Operation wird abgebrochen und es folgt die Möglichkeit, den Import durch erneutes Hinzufügen der DB fortzusetzen. Dabei können natürlich Fehler auftreten, das möchte ich auf jeden Fall vermeiden.

Würde eine der folgenden Möglichkeiten funktionieren?

1) Uploadlimit von phpMyAdmin erhöhen (in welcher Datei?)
2) Import mittels putty und Telnet (welcher Befehl ist hierfür notwendig?)

Den Import über die Konsole würde ich bevorzugen, gibt es hierzu evtl. ein Tutorial?

VG.
Scofield
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.066
Punkte für Reaktionen
9
Punkte
64
In der Shell geht sowas mit:

mysql -u root -p <Name der Datenbank> < <Pfad><NameDerDumpDatei>

Wenn Du sowieso lieber in der Shell arbeitest, kannst Du auch gleich mit:

mysql -u root -p <Name der Datenbank> > <Pfad><NameDerDumpDatei>

einen Export machen.

Da bei mir allerdings noch die MySQL läuft, musst Du mal schauen wie Du die MariaDB aufrufst.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Alles klar, mysql -u root -p <Name der Datenbank> < <Pfad><NameDerDumpDatei> werde ich heute Abend testen...

Gibt es in der Shell grundsätzlich keine Größenbeschränkung oder muss dabei auch vorher ein Limit erhöht werden?
 
Zuletzt bearbeitet:

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.066
Punkte für Reaktionen
9
Punkte
64
Gibt es in der Shell grundsätzlich keine Größenbeschränkung
Nicht das ich davon wüsste. Ich gehe davon aus, das Du vom Webserver einen Timeout bekommst, weil die Übertragung des Dumps zu lange dauert und nicht weil der Dump zu gross ist.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Wenn ich vom Webserver einen Timeout bekommen, wird der Import ja nur unvollständig durchgeführt - kann das Timeout verzögert werden?
Ansonsten ist diese Importfunktion in meinem Fall nicht wirklich hilfreich :confused:
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.066
Punkte für Reaktionen
9
Punkte
64
Auf der Shell bekommst Du ja keinen Timeout vom Webserver. Den bekommst Du ja nur wenn Du phpMyAdmin nutzt. Den Apache kannst Du in der httpd.conf konfigurieren.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Jetzt hab ich´s verstanden, danke :D

Werd´s dann gleich mal versuchen...
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.511
Punkte für Reaktionen
1.347
Punkte
234
Mal ein anderer Gedanke:

Der einfachste Weg des MySQL BackUps ist doch das Paket MariaDB über "Datensicherung & Replikation" zu sichern. Lässt sich auch schön planen. Der einzige Grund, der aus meiner Sicht dagegen spricht, ist dass bei einer Rücksicherung auch alle anderen evtl. vorhandenen DB's ersetzt werden.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Jetzt hast du mich neugierig gemacht.

Wenn ich "Datensicherung und Replikation" aufrufe habe ich jedoch nicht die Möglichkeit, MariaDB als zu sicherndes Paket auszuwählen. Angezeigt werden mir lediglich die "Gemeinsamen Ordner", in welchen sich MariaDB m.W.n. nicht befindet...
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Tatsache, da steht´s :D

Da bei mir nur eine DB vorhanden ist, ist das Problem der Rücksicherung nicht vorhanden... Und die DB wird bei SIcherung des Paktes ganz sicher mit gesichert?
Gibt es eine Möglichkeit, die Inhalte des DB nach erfolgter Sicherung zu prüfen?
 

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.511
Punkte für Reaktionen
1.347
Punkte
234
Die App bräuchte man ja nicht zu sichern - die läd man sich einfach erneut herunter. Von daher, ja, die DB wird komplett gesichert. Beim zurückspielen ist dann nicht nur deine eine DB wieder da, sondern die gesamte DB-Konfiguration (Benutzer, Rechte ect.). Habe ich selbst schon mehrfach zurückgespielt und funktioniert einwandfrei.

P.S.:
Es handelt sich hier um kein SQL-Dump, den man in jede andere DB per SQL zurückspielen kann, sondern um ein Backup der DB aus dem Dateisystem. Simpel zurückspielen wird man es nur auf einer Diskstation können. Für ein planmäßiges Backup auf SQL-Basis würde ich phpMyBackUpPro, oder MySQLDumper empfehlen.
 

Scofield8610

Benutzer
Mitglied seit
08. Dez 2015
Beiträge
93
Punkte für Reaktionen
0
Punkte
6
Wenn ich den Befehl

mysql -u root -p <XXX> < </volume1/web/backup><finalexbearbeitet>

in putty einfüge, erhalte ich die Fehlermeldung

-ash: syntax error: unexpected redirection

XXX habe ich durch den Datenbanknamen ersetzt, welcher in phpmyadmin als leere Datenbank enthalten ist.
Dann habe ich den Pfad zur Backup eingegeben und anschließend den Dump-Namen.

Wo hat sich da schon wieder ein Fehler eingeschlichen?
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.066
Punkte für Reaktionen
9
Punkte
64
Hoppala ...

es muss natürlich mysqldump und nicht mysql heißen.
Desweiteren sind die Klammern < und > nur Platzhalterbegrenzungen.

Was bedeutet <finalexbearbeitet> ?
Der zweite Parameter muss die SQL-Dump Datei inkl. Pfad enthalten
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat