Es kann sinnvoll sein, für die Replizierung einen Extra-Nutzer anzulegen. Dessen Shell wird dann auf »/bin/false« gesetzt. Den Port 7777 kann der IT-Verwalter durch irgendeinen Port ersetzen, der auf dem Slave-Server verfügbar ist. Dabei muss er das Passwort für den User-Account auf dem Master-System angeben.
Jetzt geht es darum, eine Verbindung zu dem Mysql-Master vom -Slave aus herzustellen: »mysql -h 127.0.0.1 -P 7777«. Dabei darf der Admin für »127.0.0.1« nicht »localhost« angeben. Denn Mysql behandelt die beiden Angaben unterschiedlich. Falls notwendig, kann der Administrator »-u <username> -p« verwenden, um einen bestimmten Mysql-Account und Passwort anzugeben.
Taucht die Fehlermeldung »permission denied« auf, dann empfiehlt es sich die Rechtezuweisung auf dem Mysql-Master anzuschauen. Die Rechte sollten mit der tatsächlichen IP-Adresse des Masters verknüpft sein. Denn das wird die Adresse sein, von der die weitergeleitete Mysql-Verbindung kommt.
Nachdem der Tunnel steht, geht es nun um die Replizierung. Dies ähnelt der Aufgabe, eine typische Mysql-Replizierung einzurichten. Der Administrator öffnet dazu die Datei »my.cnf« auf dem Master und ergänzt sie um zwei Zeilen:
log-bin=mysql-bin
server-id= 1
Als nächstes erstellt der Admin einen Account für die Replizierung: Auf der Mysql-Kommandozeile gibt er folgendes ein:
CREATE USER 'replicationuser'@'master_ip' IDENTIFIED BY 'replicationpassword';
GRANT REPLICATION SLAVE ON *.* TO 'replicationsuer'@'master_ip';
Auf der Slave-Seite kommen in der Datei »my.cnf« folgende Einträge hinzu:
server-id = 2
master-host = 127.0.0.1
master-user = replicationuser
master-password = replicationpassword
master-port = 7777
Dann startet der IT-Verwalter beide Mysql-Services auf dem Master und dem Slave neu. Hat er die Replizierung frisch aufgesetzt, muss er vermutlich noch die Datenbank manuell auf den Slave kopieren. Hinweise, um einen Daten-Snapshot zu erstellen und weitere Replizierungs-Optionen, gibt es im Mysql-Handbuch (Abschnitt 16.1).
Nachdem nun alle Einstellungen gemacht sind, geht es darum zu kontrollieren, ob die Replizierung auch funktioniert. Dazu startet der Admin eine »select«-Abfrage auf dem Master und dem Slave. Die Ergebnisse werden gleich sein. Nun führt der Administrator ein Insert, Update oder Delete aus, der einen Datenbank-Eintrag (Record) verändert. Nun wartet er ein paar Sekunden. Funktioniert die Replizierung, werden beide Abfragen immer noch gleich sein.