MySQL-Sicherung

F

flugopa

Hallo,

mich interessiert, welche Programme Ihr zur Datensicherung von Produktivdaten verwendet.
Auch wenn meine MySQL-Daten sehr bescheiden sind, würde ich diese doch gern langfristig speichern. (Online-Sicherung = während die Datenbank benutzt wird)
Evtl. kennt eine/r eine einfache Webapp. (php, oder java) die das auch erledigen kann.
(Derzeit wird die Aufgabe durch ein Skript erledigt.)
 
Hi,

wenn du ne onlinesicherung willst empfiehlt es sich ne replikation einzurichten. Und dann kannst du den Slave anhalten und sauber nen SQL-Dump machen oder halt auch ein Binärdump.

Gruß Frank
 
Hi,
...replikation...Slave...

Hallo Frank,

das sind die richtigen Stichworte für mich.
Wenn ich das richtig verstehe, können sehr viele Slave's am Master "hängen".
Hast Du praktische Erfahrungen sammeln können, wenn die Slave's nicht immer erreichbar sind?
 
Hi,

es kommt halt darauf an was du machen willst ;)

Für den Fall das du den Slave nur fürs Backup nimmst ist es nicht schlimm wenn du mal ne Unterbrechnung zwischen Master und Slave hast. Der Master logt ja alles mit. Der Slave nimmt dann seine Arbeit an der Stelle wieder auf wo er aufgehört hat bei einer Unterbrechnung.

Alternativ fällt mir gerade ein... Mysql auf einer LVM Parition aufsetzen und dann mittels LVM Snapshot ein Backup machen indem man den Snapshot mountet und dann kannst du auf die Daten zugreifen.

Gruß Frank
 
Morgen,

eine MySQL-Replikation ist ne feine Sache dafür, bleibt die Frage ob das nicht ein bisschen oversized ist. Hat natrüclich den Charm das die live Datenbank vom Backup gar nichts mitbekommt. Falls der Slave öfter nicht läuft muss man ein Auge auf die Binlogs des Masters haben, die werden irgendwann wegrotiert.

Weitere Möglichkeiten für Backups mysqldump und mysqlhotcopy.

Gegen den LVM-Snapshot spricht, dass du in dem Fall eine Binärdatei sichern willst, ohne das ihre Konsistenz gewährleistet ist.

Über phpmyadmin sollten sich auch Backups ziehen lassen, läuft dann mit mysqldump.

mfg
HeadCrash
 
Konsistenz ist nie gewährleistet, solange die DB Schreibzugriffe zulässt.
 
Ich rausch da mit mysqlhotcopy drüber, noch nie ein Problem beim rückspielen gehabt:

Code:
#!/bin/bash
BACKUP_DIR=/backup
for i in `/usr/bin/find /var/lib/mysql/* -type d -printf "%f\n"`;do /usr/bin/mysqlhotcopy --allowold -u root $i $BACKUP_DIR; done
 
Zuletzt bearbeitet:
Hi,

mysqlhotcopy hat den nachteil, dass es nur myisam und archiv tabellen sichern kann! weiterhin werden die tabellen gelockt was eigentlich doof ist bei ner onlinesicherung ;)

Frank
 
Konsistenz ist nie gewährleistet, solange die DB Schreibzugriffe zulässt.

Guter Hinweis.

Welche Möglichkeit verwendet z.B. die Börse, um dieses Problem der Nicht-Konsistenz zu vermeiden?
Ich könnte mir vorstellen, das bei der Börse jede Sekunde zählt.

Wie würdest Du die Echtzeit kritischen Datenflut Backupen?
 
Bei korrekter Verwendung von Transaktionen doch. Das bedeutet ja auch ACID. Das Problem beim LVM Snapshot ist aber, dass das vergleichbar damit ist, die Kiste einfach vom Strom zu trennen (ohne herunterzufahren) und dann die Datei unbrauchbar ist.
 
Welche Möglichkeit verwendet z.B. die Börse, um dieses Problem der Nicht-Konsistenz zu vermeiden?
Ich könnte mir vorstellen, das bei der Börse jede Sekunde zählt.

Wie würdest Du die Echtzeit kritischen Datenflut Backupen?
Indem man Datenbanken verwendet, die derlei sauber unterstützen.

Stichworte Transaktionssicherheit und eben Konsistenz.
 
Bei korrekter Verwendung von Transaktionen doch. Das bedeutet ja auch ACID. Das Problem beim LVM Snapshot ist aber, dass das vergleichbar damit ist, die Kiste einfach vom Strom zu trennen (ohne herunterzufahren) und dann die Datei unbrauchbar ist.

Das Stimmt so nicht ganz. Bei richtiver Verwendung von Transaktionen sollte es ja genau sichererstellen wenn eine Transaktion abgeschlossen ist, dass diese auch auf der Platte bzw. gespeichert ist. Das heißt wenn du mitten in einer Transaktion die Kiste vom Netz nimmst ist die Transaktion nicht commitet und somit nicht gültig.

Gruß Frank
 
wobei man dann auch wieder definieren muss, was man unter konsistenten Daten versteht - daß eine DB Transaktionssicher ist reicht dafür nicht zwingend aus...
 
mysqlhotcopy hat den nachteil, dass es nur myisam und archiv tabellen sichern kann! weiterhin werden die tabellen gelockt was eigentlich doof ist bei ner onlinesicherung ;)

Absolut, stört mich aber in dem Umgebungsfeld wo wir MySQL verwenden nicht :D

Welche Möglichkeit verwendet z.B. die Börse, um dieses Problem der Nicht-Konsistenz zu vermeiden?
Ich könnte mir vorstellen, das bei der Börse jede Sekunde zählt.

Wie würdest Du die Echtzeit kritischen Datenflut Backupen?

Bei Installationen wo wir sowas brauchen verwenden wir Oracle RAC mit der TSM Data Protection for Oracle, dazu noch den IBM SAN Volume Controller, damit sind alle Daten Repliziert und TSM kann konsistent Oracle sichern.

Ganz einfach ne Frage des Geldes.....

Man kann bei Mysql aber auch einfach einen dump wärend des Betriebs machen wenn der mysqld im --log-bin Modus lauft und im Wiederherstellungsfall dieses Log verwenden um ein konsistentes Recovery zu machen... Aber steht ja eh alles hier http://dev.mysql.com/doc/refman/5.1/de/backup.html
 
Zuletzt bearbeitet:

Ähnliche Themen

Biete Festanstellung als SystemadministratorIn im Linux-Umfeld in Düsseldorf

Junior Entwickler für Semantic-Web-Projekt (m/w)

proFTPd Fehler in Verbindung mit mySQL

Zurück
Oben