mysqlrestore?

mysqlrestore?

am 21.04.2007 19:41:54 von Kay Schulz

Hi
ich verwende regelmässig mysqldump zum sichern
der ganzen mysql DB
mysqldump -uUSER -pPASS --all-databases > mysqldump-dump.sql

Danach kopiere ich es via Netzwerk auf einen anderen
Rechner der regelmässig gesichert wird.
Nun dachte ich, es wäre doch schön, wenn ich dort
eine Kopie hätte. Also habe ich dort mysql installiert.
Aber wie mache ich mysqlrestore aus dem mysqldump.sql file.
Ich habe nur gefunden, dass ich es so machen kann:
mysql -u -p < mysqldump.sql

Wenn ich mir das sql anschaue, dann ist dort
kein drop oder so drin.
D.h. ich kann den restore genau einmal auf eine
frische Datenbank machen, danach nicht mehr.
Ich wollte, wenn ich schon so was machen, ggf.
nach dem dump die Backup DB befüllen.
Besser wäre replikation aber das ist zu aufwändig
für meine Mini-Implementierung.

Ideen?
Kay

Re: mysqlrestore?

am 21.04.2007 20:12:17 von Dirk Brosowski

Kay Schulz schrieb:
> Hi
> ich verwende regelmässig mysqldump zum sichern
> der ganzen mysql DB
> mysqldump -uUSER -pPASS --all-databases > mysqldump-dump.sql
>
> Danach kopiere ich es via Netzwerk auf einen anderen
> Rechner der regelmässig gesichert wird.
> Nun dachte ich, es wäre doch schön, wenn ich dort
> eine Kopie hätte. Also habe ich dort mysql installiert.
> Aber wie mache ich mysqlrestore aus dem mysqldump.sql file.
> Ich habe nur gefunden, dass ich es so machen kann:
> mysql -u -p < mysqldump.sql
>
> Wenn ich mir das sql anschaue, dann ist dort
> kein drop oder so drin.
> D.h. ich kann den restore genau einmal auf eine
> frische Datenbank machen, danach nicht mehr.
> Ich wollte, wenn ich schon so was machen, ggf.
> nach dem dump die Backup DB befüllen.
> Besser wäre replikation aber das ist zu aufwändig
> für meine Mini-Implementierung.
>
> Ideen?
> Kay

es gibt Optionen um im Dump auch die create und drop-Skripte für
Tabellen etc. zu inkludieren.

Einfach mysqldump -help (--help) und lesen.

Grüße

Dirk

Re: mysqlrestore?

am 21.04.2007 20:42:54 von Kay Schulz

Hi
danke.

Es sind dann wohl diese:
--add-drop-database --add-drop-table

Stimmt denn das mysql statement?
Kay

>
> es gibt Optionen um im Dump auch die create und drop-Skripte für
> Tabellen etc. zu inkludieren.
>
> Einfach mysqldump -help (--help) und lesen.
>
> Grüße
>
> Dirk

Re: mysqlrestore?

am 21.04.2007 21:07:04 von Stephan Menzel

Hallo,

>Hi
>danke.
>
>Es sind dann wohl diese:
>--add-drop-database --add-drop-table
>
>Stimmt denn das mysql statement?
>Kay
>
>>
>> es gibt Optionen um im Dump auch die create und drop-Skripte für
>> Tabellen etc. zu inkludieren.
>>
>> Einfach mysqldump -help (--help) und lesen.
>>

was spricht in deinem Fall gegen eine Master-Slave Replication, wenn
du es eh übers Netzwerk verschickst?

cu Stephan

Re: mysqlrestore?

am 21.04.2007 21:23:37 von Kai Ruhnau

Kay Schulz wrote:

[Optionen für mysqldump]
> Es sind dann wohl diese:
> --add-drop-database --add-drop-table

Nimm gleich --opt, das setzt noch mehr Richtiges.
Wenn das bei deiner mysqldump-Version aber dem Anschein nach nicht per
Default gesetzt ist, dann solltest du dringend deine MySQL-Version
updaten. <=4.0 wird nicht mehr supportet.

[mysql -u -p < mysqldump.sql]
> Stimmt denn das mysql statement?

Welches? Ich hab das mal ergänzt.
http://learn.to/quote
Da wird auch erklärt, was ToFu ist und wieso das keinem gefällt.

Ansonsten - Ja, wenn du nach dem '-u' noch einen Benutzernamen mit angibst.

Aber: Replikation einzurichten ist wirklich ein Klacks und man lernt
noch ein paar nette Dinge dabei

[ToFu entsorgt]

Grüße
Kai

--
This signature is left as an exercise for the reader.

Re: mysqlrestore?

am 22.04.2007 07:29:44 von Kay Schulz

> was spricht in deinem Fall gegen eine Master-Slave Replication, wenn
> du es eh übers Netzwerk verschickst?
>
> cu Stephan
Hi
ich habe dran gedacht, aber es schien mir schwierig aufzusetzen
und dann habe ich gelesen, dass es erst ab dem Moment geht, wo ich
sie aktiviere und alles vorher anders in den Slave bringen muss.
Also die jetzige Lösung als Phase 1 und MS als Phase 2
Wenn Ihr eine einfache Beschreibung findet zu Replikation
dann her damit

Kay

Re: mysqlrestore?

am 22.04.2007 07:31:04 von Kay Schulz

>
> Nimm gleich --opt, das setzt noch mehr Richtiges.
OK

> Wenn das bei deiner mysqldump-Version aber dem Anschein nach nicht per
> Default gesetzt ist, dann solltest du dringend deine MySQL-Version
> updaten. <=4.0 wird nicht mehr supportet.
5.1 nehme ich
Kay

Re: mysqlrestore?

am 22.04.2007 09:28:56 von steinboeck

Kay Schulz schrieb:
> Hi
> ich verwende regelmässig mysqldump zum sichern
> der ganzen mysql DB

Nur als Anregung:
Mit mysqlhotcopy _kopierst_ du sehr viel schneller als mit mysqldump.=20
Man kann die Indices weglassen, dann ist es wirklich flott, und die=20
Indices später in der Kopie wiederherstellen.
Dumpen kann mann, - korrigiert mich - auch direkt von einem hotcopy,=20
ohne die Indices reparieren/generieren zu müssen.

Replikation hat halt den Nachteil, dass richtig böse Fehler, zB das=20
versehentliche Löschen ganzer Tabellen, auch richtig schnell ins=20
Replikat übertragen werden.
Andererseits hast du für die Replikation die Logs, und kannst aus diese=
n=20
oft alles wiederherstellen.

Michael

Re: mysqlrestore?

am 22.04.2007 12:08:37 von Stephan Menzel

Hallo,

>> was spricht in deinem Fall gegen eine Master-Slave Replication, wenn
>> du es eh übers Netzwerk verschickst?
>>
>> cu Stephan
>Hi
>ich habe dran gedacht, aber es schien mir schwierig aufzusetzen
>und dann habe ich gelesen, dass es erst ab dem Moment geht, wo ich
>sie aktiviere und alles vorher anders in den Slave bringen muss.
Na ja das ist ja irgendwo verständlich!
Du kannst ja die Veränderung an der Datenbank ja nur mitlesen,
wenn das binlog gestartet ist!
Du musst nur einmal ein Dump in dein Slave einspielen und dann sollte
es von da ab laufen!
Als Backup kannst Du dir dann überlegen, ob Du es vom Slave aus gleich
erstellst oder trozdem als Dump vom Master, sollte allerdings keinen
allzugroßen unterschied, bei ständiger Master-Slave Verbindung machen!
>Also die jetzige Lösung als Phase 1 und MS als Phase 2
>Wenn Ihr eine einfache Beschreibung findet zu Replikation
>dann her damit

Die ist doch schon ziemlich Ausführlich!
http://dev.mysql.com/doc/refman/5.1/de/replication.html
>
>Kay

cu Stephan