Ankündigung

Einklappen
Keine Ankündigung bisher.

Master-Master-Slave

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Master-Master-Slave

    Hallo zusammen,

    ich hatte bis vor kurzem Folgende Konfiguration:

    Server 1: Master
    Server 2: Slave von Server 1 (für Backups)

    nun wollte ich das ganze weiter ausbauen und folgendes umgesetzt:

    Server 1: Master
    Server 3: Master
    Server 2: Slave von Server 1 (für Backups)
    Server 1: Slave von Server 3 (für Master-Master Repl.)
    Server 3: Slave von Server 1 (für Master-Master Repl.)

    Also ich habe im Prinzip Server 3 hinzugefügt und eine Master-Master Replikation mit Server 1 erstellt.

    Nun ergibt sich folgendes Problem: Ändere ich Daten auf Server 1 ist alles OK, ändere ich aber Daten auf Server 3, dann bekommt es Server 1 mit, aber Server 2 nicht.

    Versuche ich hier etwas unmögliches oder mache ich etwas falsch? Ich dachte MySQL kann das anhand der Server-IDs aus der Config einfach regeln?

    Gruß
    Cy


  • #2
    Du musst auf den Mastern log-slave-updates aktivieren, dann sollte das passen.

    PS: eine asynchrone master master replikation ist nicht unbedingt das idealste.

    Kommentar


    • #3
      Du musst auf den Mastern log-slave-updates aktivieren, dann sollte das passen.
      Ok danke, das schau ich mir mal an.

      PS: eine asynchrone master master replikation ist nicht unbedingt das idealste.
      Was meinst du damit? Lass mich gern belehren

      Kommentar


      • #4
        Zitat von cycap Beitrag anzeigen
        Was meinst du damit? Lass mich gern belehren
        Asynchrone Replikation ist klar? "Irgendwer wirds irgendwann bestimmt mal machen."

        Folgende Situation:

        Server 1
        INSERT INTO blub VALUES ....
        INSERT INTO blub VALUES ....
        INSERT INTO blub VALUES ....
        INSERT INTO blub VALUES ....
        INSERT INTO blub VALUES ....
        INSERT INTO blub VALUES ....

        Server 2
        UPDATE blub SET update_flag = 1
        DELETE FROM blub WHERE update_flag = 0

        Findet alles "zeitgleich" statt. Im worst case hast du nach so einer Situation eine Inkonstiz zwischen den Servern die du erst nach Monaten mitbekommst. Das kommt aber ganz auf die Anwendung an, ich kenn auch Setups wo eine derartige Replikation reibungslos läuft. Hab aber auch schon das gegenteil gesehen wo das wort case eingetreten ist...

        Kommentar


        • #5
          Ok, soweit verstanden, sollte bei mir eigentlich problemlos laufen soweit ich das überblicke. Aber trotdzem: was wären denn Alternativen dazu?

          Kommentar


          • #6
            Dafür gibt es keine allgemeingültige Lösung. Es kommt dabei drauf an was du erreichen willst.

            Kommentar


            • #7
              Im Prinzip will ich Front- und Backend voneinder trennen. Also die Auftragseingabe erfolgt über die Datenbank 1 und die Auftragsabarbeitung etc. erfolgt über den zweiten Server.

              Damit will ich das Problem aus meinem anderen Thread http://www.php.de/datenbanken/68842-...-abfragen.html in Grenzen halten.

              Also im Prinzip will ich das weiter Aufträge eingegeben werden können auch wenn der Hauptserver (mit dem dann bald das Backend läuft) überlastet ist und umgekehrt.

              Kommentar


              • #8
                Also das mit den log-slave-updates hat funktioniert, mich würden aber dennoch Alternativen interessieren.

                Gruß
                Cy

                Kommentar

                Lädt...
                X