Huschi
Moderator
Hallo Leute,
heute stehe ich irgendwie auf dem Schlauch.
Ich habe hier eine MySQL-Lösung mit selbst programmierter Multi-Master-Replikation.
Aber ich würde gern (mit Blick in die Zukunft) auf die Binary-Replikation von MySQL zurück greifen.
Nun finde ich zwar einige Anleitungen zum Thema Master-Master, aber keine die mehr als 2 Master unterstützt.
Das Problem ist auch logisch: da die Replikationsdaten jeder Slave nicht nochmal in seinem Binary-Log schreibt, wird dies aber ggf. nicht mehr weiter gegeben.
Folgendes Scenario:
Wir haben einen Root-Server mit MySQL, nennen wir ihn "master1".
Dazu haben wir in einigen Büro's eigenen Server: "master2", etc.
Aus Performancegründen schreibt jede Applikation auf den Master im entsprechenden Netzwerk.
Nun das Problem:
Ich würde alle Server gerne mit einer Master-Master-Replikation ausstatten und master1 als zentralen Knotenpunkt zum Datenaustausch nutzen.
Solange auf master1 Daten geändert werden, verteilen sich diese auf alle Slaves. OK!
Sobald aber master2 Daten geändert hat, gehen diese zwar auf master1, aber werden nicht auf die anderen Slaves weiter gegeben, weil master1 die Änderungen von master2 nicht ins Binarylog schreibt.
Letzteres kann man abschalten, aber dann erhält master2 beim nächsten Lauf seine veränderten Daten wieder. Und spätestens bei einem Insert geht die Sache schief...
Meine angestrebte Lösung und damit auch meine Frage:
Gibt es ein Scenario (meinetwegen mit einem weiteren zentralen MySQL-Master), bei dem sich wirklich alle Master miteinander replizieren?
huschi.
heute stehe ich irgendwie auf dem Schlauch.
Ich habe hier eine MySQL-Lösung mit selbst programmierter Multi-Master-Replikation.
Aber ich würde gern (mit Blick in die Zukunft) auf die Binary-Replikation von MySQL zurück greifen.
Nun finde ich zwar einige Anleitungen zum Thema Master-Master, aber keine die mehr als 2 Master unterstützt.
Das Problem ist auch logisch: da die Replikationsdaten jeder Slave nicht nochmal in seinem Binary-Log schreibt, wird dies aber ggf. nicht mehr weiter gegeben.
Folgendes Scenario:
Wir haben einen Root-Server mit MySQL, nennen wir ihn "master1".
Dazu haben wir in einigen Büro's eigenen Server: "master2", etc.
Aus Performancegründen schreibt jede Applikation auf den Master im entsprechenden Netzwerk.
Nun das Problem:
Ich würde alle Server gerne mit einer Master-Master-Replikation ausstatten und master1 als zentralen Knotenpunkt zum Datenaustausch nutzen.
Solange auf master1 Daten geändert werden, verteilen sich diese auf alle Slaves. OK!
Sobald aber master2 Daten geändert hat, gehen diese zwar auf master1, aber werden nicht auf die anderen Slaves weiter gegeben, weil master1 die Änderungen von master2 nicht ins Binarylog schreibt.
Letzteres kann man abschalten, aber dann erhält master2 beim nächsten Lauf seine veränderten Daten wieder. Und spätestens bei einem Insert geht die Sache schief...
Meine angestrebte Lösung und damit auch meine Frage:
Gibt es ein Scenario (meinetwegen mit einem weiteren zentralen MySQL-Master), bei dem sich wirklich alle Master miteinander replizieren?
huschi.