MySQL How-To: Datei Replication

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
magoo
Beiträge: 166
Registriert: 02.05.2005 11:06:58

MySQL How-To: Datei Replication

Beitrag von magoo » 06.11.2006 13:10:54

Backup ist eine wichtige Sache, vor allem bei so sensiblen Bereichen wie die Datenbanken. Wichtig ist auch das eine Sicherung immer Automatisch passieren sollte.
Die einfachste Methode eine Datenbank zu sichern stellt, dass bei MySQL Mitgelieferte Tool mysqldump dar. Der Syntax ist recht Simpel:
mysqldump -u root –pgeheim meinedatenbank > meinedatenbank.sql

Diese Datei kann man dann irgendwo ablegen und wenn notwendig rückspielen mit:
mysql -u root -p datenbankname < datenbankdump.sql

Diese Lösung ist für einzelne Datenbanken wie man Sie oft auf Webseiten hat durchaus praktisch, kränkelt aber schnell wenn man so richtig viele Datenbanken hat. Eine Firma, die ich beträue hat weit über 1000 Datenbanken und wer tippt oder speichert das als endlos lange liste? Warten ist auch nicht ohne weiteres möglich. Aber auch hier gibt es eine recht einfache Lösung.

Ein Bash-script kann sowas ohne Probleme lösen. Hier ist mal der generelle Quellcode den man je nach Situation anpassen muss:

Dieses Script speichert alle SQL Datenbanken in einem eigenen DUMPfile
#!/bin/shmysqlshow > tmprows=$(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

Für das Anpassen kann ich an dieser Stelle schlecht unter die Arme greifen - aber eine gute anlaufstelle sind diverse Linuxforen bzw. MySQL Foren. Wenn das Script ihren Bedürfnissen entsprechend angepasst ist muss es noch automatisiert werden.

Hierfür eigenet sich idealerweise die Cronjobs. Dieser Daemon ruft automatisch zu vorgebenen Zeiten einen bestimmten Job auf. Ich empfehle das Backup täglich durchzuführen. Ich gehe davon aus das dieses Backupscript den namen ’sicherung.sh’ trägt und sich in /usr/bin befindet. In diesem Fall würde man folgende Befehlskette eingeben müssen:
contab -e

0 0 * * * /usr/bin/sicherung.sh

Damit würde das Backupscript täglich um 0:00 Uhr durchgeführt. Für mehr Informationen bzgl. Cronjobs empfehle ich den nachschlag in geeigener Literatur, bzw. Suche im Internet. Natürlich lässt sich das Script oben verfeiern - z. B. könnte man alle dateien dannach komprimieren, mit datum versehen usw. usf.

Weitere Beispiele lasse ich hier bewusst weg, da es mir hier darum ging eine möglichst schnelle und einfache Lösung dazustellen und die Randbedingungen wie Dateigröße, Dateiverwaltung etc. nicht miteinzubeziehen.
Bild

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 06.11.2006 13:19:24

Danke für dein HowTo.. könntest du das vielleicht ins Wiki Packen und hier nur verlinken?
Das wäre nett.

Gruß
Simon
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 06.11.2006 14:07:12

Code-Tags fuer den Skriptpart waeren auch nett wegen besserer Lesbarkeit :)

Edit: Was hat das aber nun mit Replikation zu tun? Du beschreibst, wie man Backups macht.

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 07.11.2006 09:48:26

mysqldump -u root –pgeheim meinedatenbank > meinedatenbank.sql
Und jeder mit Leserechten auf deine Datei hat nun das Passwort vom MySQL-root :twisted:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
magoo
Beiträge: 166
Registriert: 02.05.2005 11:06:58

Beitrag von magoo » 07.11.2006 10:11:19

Da ich noch einige mehr an How-Tos geschrieben habe für einen Webauftritt den ich nicht veröffentlcihe werde ich den rest im Wiki Eintragen.
Bild

Benutzeravatar
Duff
Beiträge: 6321
Registriert: 22.03.2005 14:36:03
Wohnort: /home/duff

Beitrag von Duff » 07.11.2006 10:56:22

magoo hat geschrieben: Da ich noch einige mehr an How-Tos geschrieben habe für einen Webauftritt den ich nicht veröffentlcihe werde ich den rest im Wiki Eintragen.
Muss man diesen Zusammenhang jetzt verstehen?

[edit]
Das mit dem HowTo für das Backup von Datenbanken finde ich aber eine gute Sache von dir, magoo!
[/edit]
Oh, yeah!

Antworten