mysqldump Alternativen

Backup, Restore und Transfer von Daten
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

mysqldump Alternativen

Post by afrika123 »

Gibt es eine Alternative zu mysqldump?
Meine Datenbank scheint zu groß zu sein, um mit diesem Befehl gesichert zu werden.
Als Alternative sehe ich nur die Möglichkeit die daten aus dem mysql ordner zu sichern, aber vielleicht gibt es ja auch etwas anderes
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Hi,
zu groß? Das müssen ja gewaltige Datenmengen sein. Wenn du nicht grade von der Datenbank des SETI Projektes sprichst, kann ich mir das ehrlich gesagt nur schwer vorstellen. Aber wie auch immer, eine Alternative wäre z.B. mysqlhotcopy

Viele Grüße

Jochen
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

Re: mysqldump Alternativen

Post by afrika123 »

Werde ich mal probieren.

Code: Select all

mysqlhotcopy -hlocalhost -udeinUser -pdeinPasswort deineDB > db.sql
und wie wird das zurückgesichert?

Code: Select all

mysql -hlocalhost -udeinUser -pdeinPasswort deineDB
?

Die Datenbank hat so 1100 Tabellen und diese haben bis zu 40.000 Einträge. Also sind es schon ein paar Daten, die da zusammenkommen.
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

afrika123 wrote:Werde ich mal probieren.

Code: Select all

mysqlhotcopy -hlocalhost -udeinUser -pdeinPasswort deineDB > db.sql
und wie wird das zurückgesichert?

Code: Select all

mysql -hlocalhost -udeinUser -pdeinPasswort deineDB
?

Die Datenbank hat so 1100 Tabellen und diese haben bis zu 40.000 Einträge. Also sind es schon ein paar Daten, die da zusammenkommen.
Nicht ganz:

Code: Select all

/usr/local/mysql/bin/mysqlhotcopy [DB] [BACKUPORDNER] -u=[USER]--password=[PWD]
Damit wird eine Kopie deins Datenbank-Ordners angelegt. Wenn du die Datenbank zurückspielen willst, einfach DB runterfahren und den Ordner wieder an seinen alten Platz kopieren. Soweit ich weiß, funktioniert das aber nur mit MyISAM Tabellen und nicht mit InnoDB.
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

Re: mysqldump Alternativen

Post by afrika123 »

Bin ich ja mal gespannt.
Vielleicht liegt es auch an der Ausführungszeit.
Ich mache das mit putty. Vielleicht dauert es länger die db zu sichern und deshalb wird unterbrochen.
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Dann mache das ganze doch entweder mit screen, oder schiebe es mit & in den Hintergrund. Dann läuft es auch weiter, wenn du getrennt wirst.
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

Re: mysqldump Alternativen

Post by afrika123 »

Wie meinst Du das mit & ?
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Naja, einfach an den Befehl ein & setzen (natürlich mit Leerzeichen) dann wird der Befehl in den Hintergrund geschoben.

Code: Select all

/usr/local/mysql/bin/mysqlhotcopy [DB] [BACKUPORDNER] -u=[USER]--password=[PWD] &
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

Re: mysqldump Alternativen

Post by afrika123 »

Ich habe es nun mit:

Code: Select all

mysqldump -hlocalhost -udeinUser -pdeinPasswort deineDB tabelle> db.sql
gelöst.
nun habe ich die unterschiedliche Tabellen schon einzeln gedumpt
nun habe ich ca 500 Tabellen die hld_xxx und 500 mit hkl_xxx heissen.
Gibt es da soetwas wie Platzhalter das ich das so machen kann:

:

Code: Select all

mysqldump -hlocalhost -udeinUser -pdeinPasswort deineDB hkl_%> db.sql
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Platzhalter. Mhh, keine Ahnung. Ich würde versuchen mit sowas zu scripten. Erst alle Tabellen ausgeben lassen und dann mit jeder einzelnen einen Dump machen. Aber wie genau, kann ich dir auf die schnelle auch nicht sagen. Wäre aber nett, wenn du es hier posten würdest, wenn du die Lösung gefunden hast.
jhl
Posts: 21
Joined: 2005-05-23 16:16
 

Re: mysqldump Alternativen

Post by jhl »

Alle Datenbanknamen gibt's mit

Code: Select all

for i in /var/lib/mysql/*/; do basename $i; done
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: mysqldump Alternativen

Post by Roger Wilco »

jhl wrote:Alle Datenbanknamen gibt's mit

Code: Select all

for i in /var/lib/mysql/*/; do basename $i; done
Oder ein Benutzer mit entsprechenden Rechten und "SHOW DATABASES;".
afrika123
Posts: 82
Joined: 2005-10-31 12:43
 

Re: mysqldump Alternativen

Post by afrika123 »

Es ging um die Tabellen in einer Datenbank, also ein SHOW TABLES
und dann die Tabellen wie kjd_%_olj
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Roger Wilco wrote:
jhl wrote:Alle Datenbanknamen gibt's mit

Code: Select all

for i in /var/lib/mysql/*/; do basename $i; done
Oder ein Benutzer mit entsprechenden Rechten und "SHOW DATABASES;".
Das ist viel besser, wenn ich das mal so sagen darf. Mit der for-schleife bekommt man nämlich keine InnoDB Datenbanke raus. Die liegen alle in Dateien und nicht in den Unterordnern.
bunkerjambe
Posts: 5
Joined: 2004-10-27 00:32
 

Re: mysqldump Alternativen

Post by bunkerjambe »

Funktioniert folgendes auch?

Code: Select all

tar -czf /backup/backupdatei.tar.gz /var/lib/mysql 2>/dev/null
Er sichert dann alle Dateien in dem Verzeichnis...kann ich die dann einfach wieder zurückkopieren, MySQL starten und alles geht? Oder muss ich das mit mysqldump bzw mysqlhotcopy (etc.) machen damit es funktioniert?

Merci!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53
 

Re: mysqldump Alternativen

Post by Roger Wilco »

BunkerJambe wrote:Funktioniert folgendes auch?
Nur wenn du den mysqld währenddessen stoppst und sich die MySQL-Versionen nicht allzusehr unterscheiden.
bunkerjambe
Posts: 5
Joined: 2004-10-27 00:32
 

Re: mysqldump Alternativen

Post by bunkerjambe »

Achso? weil sichern tut er mir die ganzen Tabellen (auch wenn ich MySQL nicht beende)!

Aber ich lass es jetzt erstmal zusätzlich über

Code: Select all

/usr/bin/mysqldump --all-databases -u [username] --password=[userpassword] > /[PATH]/[FILE].sql
laufen! Doppelt hält erstmal besser...dann such ich mir das beste raus!
niemand
Posts: 142
Joined: 2003-12-12 18:36
 

Re: mysqldump Alternativen

Post by niemand »

Ja, es läuft ohne Fehler durch. Aber lass mal gerade in dem Moment, in dem das gesichert wird, einen schreibenden Datenbankzugriff sein, dann hast du in deiner Sicherung u.U. teilweise neue und teilweise alte Daten bunt zusammengemischt -> Datensalat.

cu
snowball
Posts: 218
Joined: 2004-09-15 10:14
 

Re: mysqldump Alternativen

Post by snowball »

Es sollte funktionieren. Allerdings musst du vorher die Datenbank runterfahren und danach wieder hochfahren. Ist natürlich nicht so gut für die erreichbarkeit ;-)

EDIT:
Mist, habe nicht alles gesehen :oops: