Page 1 of 1

mysqldump jede Datenbank einzeln via script?

Posted: 2005-10-21 19:35
by marco.kobek
`Hallo.
Ich suche ein Script welches jede Datenbank einzeln dumpt und sichert und nicht via --all-databases alles in ein großes dump packt.

Da user teilweise datenbanken anlegen dürfen usw. kann ich natürlich nicht per Hand dauernd ein script pflegen wo alle datenbanken drin stehen.

hat jemand sowas?

Re: mysqldump jede Datenbank einzeln via script?

Posted: 2005-10-21 20:03
by Joe User
RTFM! (s/--all-databases/$database/).

Re: mysqldump jede Datenbank einzeln via script?

Posted: 2005-10-21 20:53
by hornox

Code: Select all

for db in `find /var/lib/mysql/ -mindepth 1 -mindepth 1 -type d -printf %f\\n`; do
  mysqldump --opt $db | bzip2 -c > backup-$db-`date -I`.sql.bz
done
Ich habe keine Ahnung was passiert wenn die Datenbanknamen Sonderzeichen enthalten (bei bash Skripten gibt's bei sowas schnell Sicherheitslücken :(), also kontorliere das vorher nochmal. Eine ~/.myconf Datei mit [mysqldump]-Abschnitt in dem User und Password stehen mußt du auch noch anlegen.

Eine saubere Lösung die mit Sonder- und Leerzeichen klar kommt und die die Datenbanknamen per MySQL und nicht per `find` Abfrage würde mich auch interessieren :roll:
@Joe User: Es geht dem OP darum das alle $database vom Skript ermittelt werden sollen...

Re: mysqldump jede Datenbank einzeln via script?

Posted: 2005-10-25 20:43
by braindead
echo "show databases" | mysql -u <user> -p <passwd>

meinst du sowas?