phpbar.de logo

Mailinglisten-Archive

[php] MySQL Replikation mit PHP steuern

[php] MySQL Replikation mit PHP steuern

Peter Bieling net2 at media-palette.de
Mit Sep 13 09:30:26 CEST 2006


Hallo Ralf,

Ralf Eggert wrote:

> kennt jemand eine gute Einführung, wie man eine MySQL Replikation mit
> PHP aufsetzen bzw. steuern kann? Hat jemand so etwas schon einmal gemacht?

eine Einführung kenne ich nicht und das Mysql-eigene Verfahren, das 
Frank angesprochen hat, habe ich noch nicht getestet.

Bei einem Projekt, bei dem regelmäßig zwei Tabellen von lokal nach 
online synchronisiert werden müssen (Auftragskopfdaten und Positionen), 
werden alle Keys der geänderten Datensätze in einer "change"-Tabelle 
protokolliert. Beim Start der Synchronisierung werden die zu ändernden 
Datensätze in CSV-Dateien geschrieben, mit cURL auf den Server geladen, 
in jeweils _einen_ Replace-Befehl (keine Schleife) gebracht (könnte man 
auch gleich so in die Datei schreiben) und damit die Tabelle 
aktualisiert. Die "change"-Tabelle wird dann wieder gelöscht.

Das ganze Verfahren ist recht komplex, da ja viele potentielle Fehler 
(Verbindungsabriss usw.) abgefangen werden müssen. Außerdem ist es in 
dieser Form nur zu gebrauchen, wenn man keine Datensätze löscht. (Sonst 
taugt der replace-Befehl nichts.) Es dürfen nur Datensätze geändert oder 
neu hinzugefügt werden.

Den Vorteil des Verfahrens sehe ich darin, dass man gezielt nur die 
Datensätze verschickt, die auch tatsächlich geändert werden.

Viele Grüße

Peter

php::bar PHP Wiki   -   Listenarchive