Mailinglisten-Archive |
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