Wie eine MysQL komplett sicherung auf Shell ebene?
Wie eine MysQL komplett sicherung auf Shell ebene?
Hallo!
Wie kann ich auf Shell ebene eine komplette MySQL Sicherung machen?
d.h. alle vorhandenen Datenbanken inkl. sämtlicher Accounts komplett sichern
und später dann wieder komplett einspielen.
Wie geht das?
Danke für eure Hilfe
Mfg
Deta
Wie kann ich auf Shell ebene eine komplette MySQL Sicherung machen?
d.h. alle vorhandenen Datenbanken inkl. sämtlicher Accounts komplett sichern
und später dann wieder komplett einspielen.
Wie geht das?
Danke für eure Hilfe
Mfg
Deta
- feltel
- Webmaster
- Beiträge: 10458
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Code: Alles auswählen
mysqldump -uroot -pPWD --all-databases > ~/dump.sql
Code: Alles auswählen
mysql -uroot -pPWD < ~/dump.sql
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
Dann sollte es keine Probleme mit der Größe denke ich mehr geben, als wenn ich dasfeltel hat geschrieben:für die Sicherung undCode: Alles auswählen
mysqldump -uroot -pPWD --all-databases > ~/dump.sql
fürs einspielen.Code: Alles auswählen
mysql -uroot -pPWD < ~/dump.sql
mit phpMysqlAdmin oder mysqldumper einspielen will.. Da hats mir immer wegen der Größe alles Zerlegt..
Danke und guten Rutsch....
- feltel
- Webmaster
- Beiträge: 10458
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Nö, Probleme sollte es nicht geben. Wir sichern erfolgreich mit einem ähnlichen Verfahren stündlich die Forums-DB, und die ist ~400 MB groß.
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM
Dann kann ich sicher sein, das er auch alle wichtigen Tabellen Attribute mit sichert..feltel hat geschrieben:Nö, Probleme sollte es nicht geben. Wir sichern erfolgreich mit einem ähnlichen Verfahren stündlich die Forums-DB, und die ist ~400 MB groß.
Confixx Backup hat das nicht gemacht! Grumpf...
cu Deta
- meandtheshell
- Beiträge: 4054
- Registriert: 14.01.2005 17:51:30
@delta1
noch eine möglichkeit
aufrufverzeichis ist das verzeichnis in dem der dump abgelegt wird
sichert auf blockfs ebene (-0 ist ein voller dump, nach ersten vollen dump kannst du auf >0 für inkrementelle dumps stellen)
markus
noch eine möglichkeit
aufrufverzeichis ist das verzeichnis in dem der dump abgelegt wird
sichert auf blockfs ebene (-0 ist ein voller dump, nach ersten vollen dump kannst du auf >0 für inkrementelle dumps stellen)
Code: Alles auswählen
ssh <user>@<domain> dump -0 -f - /path/to/mysq_db | restore -r -f -
markus
-
- Beiträge: 184
- Registriert: 08.12.2005 11:07:15
-
Kontaktdaten:
Ich würde noch die Parameter --quote-names und --add-drop-table beim mysqldump hinzufügen, gerade im ersten Falle ärgert man sich im Falle eines Restores eine Frikadelle ans Knie, wenn das Zurückspielen daran scheitert, dass für Attribute reservierte Namen verwendet wurden (bei OpenSource-Projekten mit mySQL nicht selten der Fall) und man einen mehrere Millionen Zeilen großen Dump mit vi editieren muss, bis dieser sich einspielen lässt.
schoeppchen hat geschrieben:Ich würde noch die Parameter --quote-names und --add-drop-table beim mysqldump hinzufügen, gerade im ersten Falle ärgert man sich im Falle eines Restores eine Frikadelle ans Knie, wenn das Zurückspielen daran scheitert, dass für Attribute reservierte Namen verwendet wurden (bei OpenSource-Projekten mit mySQL nicht selten der Fall) und man einen mehrere Millionen Zeilen großen Dump mit vi editieren muss, bis dieser sich einspielen lässt.
Also noch mal zusammengefasst:
mysqldump -uroot -pPWD --all-databases --quote-names --add-drop-table > ~/dump.sql
für die Sicherung und
:
mysql -uroot -pPWD < ~/dump.sql
Frage, noch beim Zurückspielen. Werden da ev. bereits vorhadenen Tabellen einfach überschrieben oder vorher gelöscht?
cu Deta
-
- Beiträge: 184
- Registriert: 08.12.2005 11:07:15
-
Kontaktdaten:
Korrekt. Wobei sich mir die Frage stellt, warum du wirklich alle Datenbanken in einem Dump haben möchtest. Selektives Zurückspielen im Falle des Crahs *einer* Datenbank bietet mySQL nicht, somit müsstest du erst hunderte von MB (GB?) in eine temporäre mySQL Instanz zurückspielen, bevor du dann die entsprechende Datenbank extrahieren und in die Liveumgebung rückspielen könntest. Ich würde ja pro Datenbank ein Dump-File erzeugen.deta1 hat geschrieben:Also noch mal zusammengefasst:
mysqldump -uroot -pPWD --all-databases --quote-names --add-drop-table > ~/dump.sql
für die Sicherung und
:
mysql -uroot -pPWD < ~/dump.sql
Eben darauf ziehlt meine Anmerkung oben. Ohne den Parameter --add-drop-table würde er gar nichts tun, da mySQL melden würde, dass die Datenbanktabelle bereits exitsiert. Mit dem Parameter löscht er vorher alle im Dump vorhandenen Tabellen vor Neuanlagen, sprich: Mit obiger Methode wird alles in den Zustand zurückgesetzt, der zum Zeitpunkt des Backups existierte.deta1 hat geschrieben:Frage, noch beim Zurückspielen. Werden da ev. bereits vorhadenen Tabellen einfach überschrieben oder vorher gelöscht?cu Deta
ACHTUNG: Soweit mir bekannt erzeugt der Parameter --all-databases ein CREATE DATABASE Befehl für jede Datenbank (klar, wie soll er diese auch sonst accessieren im Falle eines Totalcrashes). Somit würdest du auch mit obiger Befehlszeile nur dann rückspielen können, wenn du vorher alle deine Datenbanken komplett löschst über DROP DATABASE. Ich würde in jedem Falle ein kleines Skript vorziehen, welches alle Datenbanken einzeln sichert.
Hinter grund ist, da ich auf einen neuen Server umziehe..schoeppchen hat geschrieben:Korrekt. Wobei sich mir die Frage stellt, warum du wirklich alle Datenbanken in einem Dump haben möchtest. Selektives Zurückspielen im Falle des Crahs *einer* Datenbank bietet mySQL nicht, somit müsstest du erst hunderte von MB (GB?) in eine temporäre mySQL Instanz zurückspielen, bevor du dann die entsprechende Datenbank extrahieren und in die Liveumgebung rückspielen könntest. Ich würde ja pro Datenbank ein Dump-File erzeugen.deta1 hat geschrieben:Also noch mal zusammengefasst:
mysqldump -uroot -pPWD --all-databases --quote-names --add-drop-table > ~/dump.sql
für die Sicherung und
:
mysql -uroot -pPWD < ~/dump.sql
Eben darauf ziehlt meine Anmerkung oben. Ohne den Parameter --add-drop-table würde er gar nichts tun, da mySQL melden würde, dass die Datenbanktabelle bereits exitsiert. Mit dem Parameter löscht er vorher alle im Dump vorhandenen Tabellen vor Neuanlagen, sprich: Mit obiger Methode wird alles in den Zustand zurückgesetzt, der zum Zeitpunkt des Backups existierte.deta1 hat geschrieben:Frage, noch beim Zurückspielen. Werden da ev. bereits vorhadenen Tabellen einfach überschrieben oder vorher gelöscht?cu Deta
ACHTUNG: Soweit mir bekannt erzeugt der Parameter --all-databases ein CREATE DATABASE Befehl für jede Datenbank (klar, wie soll er diese auch sonst accessieren im Falle eines Totalcrashes). Somit würdest du auch mit obiger Befehlszeile nur dann rückspielen können, wenn du vorher alle deine Datenbanken komplett löschst über DROP DATABASE. Ich würde in jedem Falle ein kleines Skript vorziehen, welches alle Datenbanken einzeln sichert.
Ich habs schon mit Confixx Backup probiert und da hat er viele Attribute in den MySQL Tabellen nich mitgenommen. So das ich nur Probleme hatte.
Darum will ich im nächsten Versuch, vorher einen kompletten MySQL Dump machen und dann einfach auf den neuen Server kopieren und diese dann einspielen..
Ich will phpMyAdmin, mysqldumper etc.. vermeiden..
cu Deta
-
- Beiträge: 184
- Registriert: 08.12.2005 11:07:15
-
Kontaktdaten:
Dann ist obiger Aufruf korrekt. Falls du doch mal ein sehr einfaches Shell-Skript benötigst um deine mySQL DBs einzeln automatisiert zu sichern:deta1 hat geschrieben: Hinter grund ist, da ich auf einen neuen Server umziehe..
Ich habs schon mit Confixx Backup probiert und da hat er viele Attribute in den MySQL Tabellen nich mitgenommen. So das ich nur Probleme hatte.
Darum will ich im nächsten Versuch, vorher einen kompletten MySQL Dump machen und dann einfach auf den neuen Server kopieren und diese dann einspielen..
http://linuxhelpforum.de/forum/index.php?topic=6.0