MySQL Backup

MadCrusher

Erfahrenes Mitglied
Hallo,

ich brauche eure Hilfe...
Ich muss eine MySQL-Datenbank (4 Tabellen -> ca. 50kb) auf folgende weise Sichern:
1x pro Woche vollständiges Backup
1x täglich inkrementelles Backup

Nun hab ich mir gedacht, das ich dies doch am besten mit einem Cronejob und einem PHP-Script lösen kann... Hat jemand eine Idee?
 
Generell würd ich von einer PHP Lösung abraten, ein Shellscript wird hier wohl besser arbeiten. Roller für Backups gibt es ja genug.

Wenn du MyISAM verwendest ist der schnellste weg die .frm und .myd? (einfach alle) Files in einen order zu kopieren. Dann lassen sich Backups auch von einzelnen Tabellen einspielen durch zurückkopieren und anschließendem MySQL neustart.
Aber ein einspielen einer 10GB Datenbank dauert nur wenige Sekunden. Die Files nehmen auch sehr viel weniger Platz in Anspruch im vergleich zu einem MySQL Dump. Nach dem einspielen kann es durchaus sein das die Datenbank ein paar Sekunden länger zum start braucht, da es die Struktur der neuen Files einlesen muss.

Die andere möglichkeit ist per MySQL Dump. Dokumentation dazu findest du auf der MySQL Website genug. Wenn du InnoDB Datenbanken verwendest ist es erforderlich dies auf diese Weise zu tun. Oder du musst Geld für Zusatzsoftware von MySQL ausgeben. Die Backup generation dauert hier aber erheblich länger und die generierten Files sollten auf jeden Fall gepackt werden da in ihnen eine Menge Overhead enthalten ist. Zurückspielen kann bei großen Datenbanken hier auch schnell in die Minuten / Stunden gehen. Allerdings ist es mit MySQL Dump einfacher innerhalb der Dumps vorab etwas zu suchen. Und sie können wohl einfacher von Server auf Server übertragen werden. Da wenn die Versionen von MySQL nicht übereinstimmen will ich nicht wissen was mit den .frm files usw sonst passiert ^^
 
Ich würde es auch mit einem Cronjob machen (wenn die Datenmengen nicht zu groß sind! Denn sonst würde ich mich eher an Michael Engels Vorschlag halten) ;)
Wenn du auf deinem Host keine Cronjobs einrichten kannst, melde dich einfach hier an http://www.cronjob.de/ die übernehmen dann den Cronjob für dich :rolleyes:
 
Zuletzt bearbeitet:
Zurück