SQLDUMP: 1file pro Database [gelöst]
SQLDUMP: 1file pro Database [gelöst]
Ich will ein Tool mit dem er pro Datenbank eine eigene SQL Dump file erzeugt. per Hand weiss ich wie es geht - nur soll das halt mit allen Datenbanken gehen - da ich über 1100 Datenbanken haben bin ihc nicht gewillt das von Hand zu schreiben. Muss doch ne möglcihkeit gebeht n wie ---all-datase nur halt nicht in ein file.
Zuletzt geändert von magoo am 29.03.2006 08:47:12, insgesamt 1-mal geändert.
- finupsen
- Beiträge: 1327
- Registriert: 21.04.2004 20:07:05
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Dortmund
-
Kontaktdaten:
hallo,
kann man so machen:
- ermitteln aller datenbank-namen
- for i in <datenbanknamen>
- den dump von $i erzeugen und in file $i schreiben
- done

kann man so machen:
- ermitteln aller datenbank-namen
- for i in <datenbanknamen>
- den dump von $i erzeugen und in file $i schreiben
- done

Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.
... und Wasser ist naß.
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
z. B. so
Code: Alles auswählen
mysql -u root -p<password> -B -e "SHOW DATABASES" | while read db; do mysqldump -u root -p<password> -B $db >$db.dump.sql; done;
Habs so gelöst:
Dieses Script speichert alle SQL Datenbanken in einem eigenen DUMPfile
#!/bin/sh
mysqlshow > tmp
rows=$(cat tmp | wc -l)
let rows=$rows-3
let rows2=$rows-1
temp=$(cat tmp | tail -n $rows | head -n $rows2)
for test in $temp
do
if [ "$test" != "|" ]; then
mysqldump $test > $test.sql
fi
done
DANKE NOCH !
Dieses Script speichert alle SQL Datenbanken in einem eigenen DUMPfile
#!/bin/sh
mysqlshow > tmp
rows=$(cat tmp | wc -l)
let rows=$rows-3
let rows2=$rows-1
temp=$(cat tmp | tail -n $rows | head -n $rows2)
for test in $temp
do
if [ "$test" != "|" ]; then
mysqldump $test > $test.sql
fi
done
DANKE NOCH !
- feltel
- Webmaster
- Beiträge: 10477
- Registriert: 20.12.2001 13:08:23
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Leipzig, Germany
-
Kontaktdaten:
Hier noch eine etwas verbesserte Version:tapferesschneiderlein hat geschrieben:z. B. soCode: Alles auswählen
mysql -u root -p<password> -B -e "SHOW DATABASES" | while read db; do mysqldump -u root -p<password> -B $db >$db.dump.sql; done;
Code: Alles auswählen
mysql -u root -p<password> -B -e "SHOW DATABASES" | sed -e /Database/d | while read db; do mysqldump -u root -p<password> -B $db >$db.dump.sql; done;
Code: Alles auswählen
mysqldump: Got error: 1049: Unknown database 'Database' when selecting the database
debianforum.de unterstützen? Hier! | debianforum.de Verhaltensregeln | Bitte keine Supportanfragen per PM