MySql Backup erstellen

Hallo zusammen,

Ich probiere gerade mir ein Script zu basteln in dem Ich alle meine MySql Tabellen einzeln in ein Backup schreiben kann.

bei einer Stelle bin ich jetzt jedoch hängen geblieben:

mit dem Befehl

mysql -u user -ppassword -B -e 'SHOW DATABASES' \> databases.txt

schreibe ich alle vorhandenen Datenbanken in eine Datei.

jetzt habe ich nur das problem das ich es nicht hinbekomme die Datei databases.txt zeilenweise auszulesen und zu jeder Datei einzeln ein Backup zu machen

ich habe es schon mit

echo $#
echo $\*
for i in $\*
do echo Datenbank: $i
done

probiert jedoch erzeugt dieser Befehl nur eine leeren output:

pg@slrmysql:/var/scripts$ sh -x mysql\_backup.sh 

kann mir wer sagen wie ich dieses Problem lösen kann?

Gruß
Phillip

Dafür gibt es mysqldump, das ist sicherer:

mysqldump MeinPasswort MeineDB [Tabelle[n]] > ./backup/backup.dump

Die Angabe der Tabellen ist optional, ohne wird halt die ganze DB gesichert.

Hallo,

Ich probiere gerade mir ein Script zu basteln in dem Ich alle
meine MySql Tabellen einzeln in ein Backup schreiben kann.

bei einer Stelle bin ich jetzt jedoch hängen geblieben:

mit dem Befehl

mysql -u user -ppassword -B -e ‚SHOW DATABASES‘ >
databases.txt

schreibe ich alle vorhandenen Datenbanken in eine Datei.

jetzt habe ich nur das problem das ich es nicht hinbekomme die
Datei databases.txt zeilenweise auszulesen und zu jeder Datei
einzeln ein Backup zu machen

Dann hättest du aber pro Datenbank, nicht pro Tabelle eine Datei.

Sollte das gemeint sein, würde ich es so machen:

echo "Show Databases" | mysql $optionen | while read i ; \
 do mysqldump $optionen "$i" | gzip \> "$i.sql.gz"; done

HTH,
Moritz

super sache klappt 1a

*

Gruß
Phillip