MySQL Replikation
Für die Replikation müssen midnestens zwei Server vorhanden sein, ein Master und ein Slave.
Inhaltsverzeichnis
Vorbereitung Master
In dem Master muss zunächst die Server ID auf 1 gesetzt werden, dies geschied in der my.ini bzw my.cnf, außerdem muss das Binärloggen aktiviert werden
log-bin = mysql-bin server-id = 1
Für den Slave wird desweiteren noch ein Account benötigt, dieser muss nur über das Recht REPLICATION SLAVE verfügen
Vorbereitung Client
Im Client müssen die Daten des Masters hinterlegt werden, sowie eine Server ID eintragen:
server-id = <eindeutige Nummer größer 1> master-host = <IP des Servers> master-user = <user> master-password = <password> master-port = <port> log-bin = mysql-bin
Starten der Replikation
Bindet man einen neuen Slave ein sollten auf dem Master alle Tabellen gelockt werden <code=sql>
FLUSH TABLES WITH READ LOCK;
</code=sql> Anschließen einen kompletten Dump der Daten machen und auf dem Slave einspielen, da nur Daten nach der Einbindung übernommen werden. Sind alle Daten übernommen können die Tabellen entsperrt werden und beide Server ihren Betrieb aufnehmen. <code=sql>
TABLES UNLOCK;
</code=sql>
Jetzt sollten alle Änderungen am Master automatisch auf den Slave übernommen werden.
Problembehandlung
Übernimmt der Slave keine Daten kann mit den Befehlen der Status des jeweiligen eingesehen werden. Beim Slave sind auch Fehlermeldungen hinterlegt. <code=sql>
SHOW MASTER STATUS; SHOW SLAVE STATUS;
</code=sql>
Ist der Slave nicht gestartet kann dieser auch explizit gestartet werden: <code=sql>
START SLAVE;
</code=sql>