Welche Optionen sollen in mysqldump verwendet werden ?

MySQL, PostgreSQL, SQLite
torti0013
Posts: 15
Joined: 2004-10-25 14:25

Welche Optionen sollen in mysqldump verwendet werden ?

Post by torti0013 » 2004-10-27 07:38

Hallo,

mir sind ein paar Optionen nicht klar (hab auch schon im Handbuch geschaut).

Code: Select all

mysqldump --opt usr_web2_1 -pPASSWORT  > ${ZIEL}/usr_web2_1_${NAME1}_${NAME2}.sql 
Hier wird ja mit dem Parameter --opt die Datenbank geschloßen usw. (allerdings wird auch nur eine Datenbank gesichert) diese Variante habe ich auch schon oft in den Foren gesehen.

Wenn ich aber einen kompletten Dump machen möchte würde dies so aussehen:

Code: Select all

mysqldump --all-databases -pPASSWORT  > ${ZIEL}/datenbank_${NAME1}_${NAME2}.sql
Wie sieht es hier aus, wird mit dieser Variante auch alles ordnungsgemäß geschloßen oder soll hier die Option --opt verwendet werden.

Vielen Dank mal.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Welche Optionen sollen in mysqldump verwendet werden ?

Post by oxygen » 2004-10-27 21:31

Optionen können kombiniert werden...

mysqldump --all-databases --opt --quote-names | bzip2 -c > dump.sql.bz2

könnte man z.B. verwenden. --opt sollte man auf jeden Fall verwenden.

torti0013
Posts: 15
Joined: 2004-10-25 14:25

Re: Welche Optionen sollen in mysqldump verwendet werden ?

Post by torti0013 » 2004-10-28 07:36

@øxygen
für was steht die option "--quote-names " habe ich bei der anleitung von mysqldump nicht gefunden ?


@all
ist vielleicht eine blöde frage, aber es ist nicht klar erklärt.

das zurückspielen einer datenbank funktioniert mit

Code: Select all

mysql datenbank < datensicherung.sql
die ist aber eben nur eine und nicht die komplette. wenn ich also die ganze datenbank mit der option -all usw. dumpe habe ich z.b. ein file mit dem namen datenbank.sql.

wenn ich nun alles zurückspielen will, haben ich ja keinen datenbanknamen z.b. nach einer neuinstallation oder einem crash. es gibt dann kein usr_web2_1 oder so etwas zumal ich ja alles auf einmal einspielen kann.
wie funktioniert dies dann ?

oder hab ich was falsch verstanden ?

danke

torti0013
Posts: 15
Joined: 2004-10-25 14:25

es funktioniert nicht

Post by torti0013 » 2004-11-04 09:32

hallo,

vermutlich mache ich was falsch.

wenn der server aus irgend einem grund neu aufgesetzt werden muß gibt es keine datenbank und auch logischerweise nicht die entsprechenden verzeichnisse in mysql/data oder so (weis es gerade nicht aus dem kopf).

wenn ich nun einen kompletten dump erstellt habe mit der option

Code: Select all

mysqldump --all-databases -pPASSWORT  > /backup/datenbank.sql
habe ich einen dump von allen datenbanken (einschl. confixx).

so, wenn nun der server neu augfesetzt werden muß, sollte es ja ohne das die datenbanken angelegt sind möglich sein den dump zurück zu spielen.

hierfür verwende ich dann

Code: Select all

mysql --all-database < datensicherung.sql 
hier kommt dann das irgendwelche tabellen z.b. von confixx vorhanden sind. dabei habe ich testweise alles datenabnken und verzeichnisse gelöscht.

mir ist auch nicht ganz klar ob wircklich alle datenbanken und verzeichnisse beim zurück spielen angelegt werden. ist danach alles zu 100% wieder so wie es war ?

wie sieht es mit den berechtigungen der einzlenen user aus, die die datenbanken erstellt haben ?

vielleicht kann mir jemand meine fragen beantworten.

danke.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Welche Optionen sollen in mysqldump verwendet werden ?

Post by oxygen » 2004-11-04 22:00

Im ersten Aufruf fehlt das --opt (und dementsprechend --add-drop-table)
zurückspielen geht einfach mit mysql < dump.sql

Die Berechtigungen bleiben, da sie in der DB mysql gespeichert werden und die mit kopiert wird.

torti0013
Posts: 15
Joined: 2004-10-25 14:25

werde es versuchen

Post by torti0013 » 2004-11-05 07:32

sichere jetzt die datenbank mit

Code: Select all

mysqldump --all-databases-opt -pPASSWORT  > /backup/datenbank.sql
lösche dann mal die ganzen datenbanken und spiele es dann wieder mit

Code: Select all

mysql < datenbank.sql 
ein.

hoffentlich klappt es.

danke mal

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: werde es versuchen

Post by oxygen » 2004-11-05 08:51

torti0013 wrote:sichere jetzt die datenbank mit

Code: Select all

mysqldump --all-databases-opt -pPASSWORT  > /backup/datenbank.sql
lösche dann mal die ganzen datenbanken und spiele es dann wieder mit

Code: Select all

mysql < datenbank.sql 
ein.

hoffentlich klappt es.
Ne. So werden Optionen nicht kombiniert. das Müsste heißen:
mysqldump --all-databases --opt ...

(s.o.)

User avatar
Joe User
Project Manager
Project Manager
Posts: 11137
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Welche Optionen sollen in mysqldump verwendet werden ?

Post by Joe User » 2004-11-05 14:45

Code: Select all

mysqldump -a -c -i --allow-keywords --delayed-insert --opt -A > /backup/datenbank.sql
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

torti0013
Posts: 15
Joined: 2004-10-25 14:25

Re: Welche Optionen sollen in mysqldump verwendet werden ?

Post by torti0013 » 2004-11-06 15:01

Super hat alles geklappt, hab die Sicherung mit

Code: Select all

mysqldump -a -c --allow-keywords --delayed-insert --opt -A -pPASSWORT > /backup/datenbank.sql
erstellt und danach alles Verzeichnisse in /var/lib/mysql gelöscht.

Den Dump habe ich dann wieder mit

Code: Select all

mysql < datenbank.sql
eingespielt. Es wurde alles erstellt und Confixx funktionerte nach einem rcmysql restart auch wieder.

Für was sollte die Option -i sein, habe nicht gefunden und verwenden konnt ich diese auch nicht.

Eine letzte Frage noch: Funktioniert diese Methode auch noch wenn die Datenbank mal 300 MB oder mehr hat ?

Danke