Hat jemand Ahnung von MySQL?
Verfasst: 10.02.2006 11:55
Hallo,
Sorry für den blöden Titel, aber ich hab was spezielles zu MySQL und irgendwie erhalte ich in allen Foren immer nur keine Antwort. Evtl. hat ja hier jemand eine Idee?
Ich habe einen Server auf dem meine (in PB geschriebene) Anwendung Daten in einer MySQL-Datenbank einfügt und verändert (INSERT und UPDATE). Die selbe Datenbank wird auch durch die (in PHP realisierte) Webseite verändert (INSERT, UPDATE und DELETE).
Erstes Problem: Ein tägliches Backup ist viel zu wenig. Am besten wäre ein Snapshot alle 5 Minuten (oder kürzer). Die Datenbank wird aber sehr gross werden (ca. einige GB in ein bis zwei Jahren). Ganze Backups zu ziehen fällt flach.
Zweites Problem: Das Backup soll auf einem entfernten Rechner in einer MySQL-Datenbank nachvollzogen werden oder zumindest so abgelegt sein dass es wieder in eine MySQL-Datenbank zurückgespielt werden kann.
Drittes Problem: Der zweite Rechner ist nicht im selben Haus wie der Server. Verbindung besteht sporadisch (DSL. Initiiert zB durch ein PB-Programm). FTP ist ebenso möglich wie das versenden und empfangen von e-Mail.
Einige Ideen hatte ich schon, scheitern aber an allem Möglichen.
Eine halbwegs passable Idee: Ich exportiere alle paar Minuten alle veränderten Datensätze. Diese Informationen versende ich per e-Mail (oder lege Sie auf einen FTP-Server etc.). Der Backup-Rechner holt diese e-Mails alle zwei Stunden ab und überträgt die daraus resultierenden Daten auf eine MySQL-Datenbank auf dem Backup-Rechner. Geht nicht, weil ich nicht nur INSERTS sondern auch UPDATES auf jeden Fall benötige. Dabei verweisen Datensätze auf andere ID's in anderen Tabellen. Das wird kaum konsistent durchzuführen sein. Dazu kommt, dass ich immer die veränderten Datensätze wissen muss. Könnte einen Trigger auf ein 'LastModified' Datumsfeld setzen, aber wie lese ich dann die Daten aus und füge Sie beim Backup-Rechner wieder ein?
Cluster fallen wegen der fehlenden Dauerverbindung aus.
Replikation kapier ich irgendwie nicht und kapier auch nicht wie ich das mit einer nur gelegentlichen Internetverbindung automatisieren kann.
Kann mir jemand helfen? Bitte
Volker
Sorry für den blöden Titel, aber ich hab was spezielles zu MySQL und irgendwie erhalte ich in allen Foren immer nur keine Antwort. Evtl. hat ja hier jemand eine Idee?
Ich habe einen Server auf dem meine (in PB geschriebene) Anwendung Daten in einer MySQL-Datenbank einfügt und verändert (INSERT und UPDATE). Die selbe Datenbank wird auch durch die (in PHP realisierte) Webseite verändert (INSERT, UPDATE und DELETE).
Erstes Problem: Ein tägliches Backup ist viel zu wenig. Am besten wäre ein Snapshot alle 5 Minuten (oder kürzer). Die Datenbank wird aber sehr gross werden (ca. einige GB in ein bis zwei Jahren). Ganze Backups zu ziehen fällt flach.
Zweites Problem: Das Backup soll auf einem entfernten Rechner in einer MySQL-Datenbank nachvollzogen werden oder zumindest so abgelegt sein dass es wieder in eine MySQL-Datenbank zurückgespielt werden kann.
Drittes Problem: Der zweite Rechner ist nicht im selben Haus wie der Server. Verbindung besteht sporadisch (DSL. Initiiert zB durch ein PB-Programm). FTP ist ebenso möglich wie das versenden und empfangen von e-Mail.
Einige Ideen hatte ich schon, scheitern aber an allem Möglichen.
Eine halbwegs passable Idee: Ich exportiere alle paar Minuten alle veränderten Datensätze. Diese Informationen versende ich per e-Mail (oder lege Sie auf einen FTP-Server etc.). Der Backup-Rechner holt diese e-Mails alle zwei Stunden ab und überträgt die daraus resultierenden Daten auf eine MySQL-Datenbank auf dem Backup-Rechner. Geht nicht, weil ich nicht nur INSERTS sondern auch UPDATES auf jeden Fall benötige. Dabei verweisen Datensätze auf andere ID's in anderen Tabellen. Das wird kaum konsistent durchzuführen sein. Dazu kommt, dass ich immer die veränderten Datensätze wissen muss. Könnte einen Trigger auf ein 'LastModified' Datumsfeld setzen, aber wie lese ich dann die Daten aus und füge Sie beim Backup-Rechner wieder ein?
Cluster fallen wegen der fehlenden Dauerverbindung aus.
Replikation kapier ich irgendwie nicht und kapier auch nicht wie ich das mit einer nur gelegentlichen Internetverbindung automatisieren kann.
Kann mir jemand helfen? Bitte

Volker