MySQL verteilen und sichern: Master und Slave

Master/Slave aktivieren

Damit Sie die Replikation per Master/Slave einsetzen können, müssen Sie das Binary-Log auf dem Master aktivieren und den Slave-Rechner mit der Datenbasis ausstatten, die beim Master vorlag, unmittelbar bevor Sie dort das Binary-Log eingeschaltet haben.

Das ist eine logische Konsequenz aus der Tatsache, dass das Binary-Log einfach auf dem Slave abgespielt wird. Angenommen, der erste Eintrag im Binary-Log enthält den Befehl "delete from users where id=5". Dies würde fehlschlagen, wenn weder eine Tabelle namens users, noch ein Eintrag mit der ID 5 auf dem Slave vorliegt. Die Datenbasis und das Binary-Log müssen also zusammenpassen. Das bedeutet auch, dass Sie am besten eine Kopie der Datenbasis vor dem Einschalten des Binary-Log anlegen - und diese Kopie gut aufbewahren: Sie werden diese nämlich später benötigen, wenn Sie vielleicht einen dritten Rechner als Slave betreiben wollen. Es sei denn, Sie setzen den vorhandenen Slave später zurück und installieren diesen zusammen mit dem zweiten neu.

Am einfachsten gehen Sie dabei folgendermaßen vor:

  • Master anhalten.

  • Alle Daten auf den zukünftigen Slave kopieren.

  • Die Daten zusätzlich sichern.

  • Das Binary-Log aktivieren.

  • Den Server wieder starten.

Wann Sie danach den Slave einschalten, ist egal - er holt den Master ganz von selbst wieder ein. Zum Sichern und Kopieren der Daten vom Master auf den Slave gibt es verschiedene Ansätze, alle gängigen finden Sie in der Dokumentation zum Thema Backup auf der MySQL-Webseite erläutert. Daher schildern wir im Folgenden nur die beiden einfachsten Methoden in Kurzform.