Anstatt SSL per Compilierung in MySQL zu integrieren

Workshop: »MySQL«-Datenbanken sicher replizieren

4. Mai 2010, 8:19 Uhr | Werner Veith

Fortsetzung des Artikels von Teil 1

Die Replizierung aufsetzen

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.


  1. Workshop: »MySQL«-Datenbanken sicher replizieren
  2. Die Replizierung aufsetzen
  3. RSA-Keys anstatt von Passwort-Eingabe

Lesen Sie mehr zum Thema


Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu ORACLE Deutschland B.V. & Co. KG

Matchmaker+