Version 1.0
Author: Oliver Meyer <o [dot] meyer [at] projektfarm [dot] de>


Diese Anleitung veranschaulicht, wie man eine Master-Master Replication mit MySQL 5 auf Fedora 8 einrichtet. Das daraus resultierende System liefert einen stabilen MySQL Server mit Ausfallsicherung.

Diese Anleitung ist ein praktischer Leitfaden ohne jegliche Garantie - theoretisches Hintergrundwissen wird nicht abgedeckt. Es gibt viele Möglichkeiten ein solches System einzurichten - dies ist der Weg, den ich gewählt habe.

1 Vorbereitung

Für diese Anleitung richte ich zwei Fedora 8 Systeme (minimale Installation ohne gui etc.) mit folgender Konfiguration ein.

1.1 System 1

Hostname: server1.example.com
IP: 192.168.0.100

1.2 System 2

Hostname: server2.example.com
IP: 192.168.0.200

2 MySQL

2.1 Benötigte Pakete auf beiden Systemen

Falls Du MySQL auf beiden Systemen noch nicht installiert hast, kannst Du es nun installieren (Client & Server) via:

yum -y install mysql mysql-server


2.2 MySQL Server - Erster Start auf beiden Systemen

Starte den MySQL Server.

/etc/init.d/mysqld start


2.3 MySQL Root Passwort

2.3.1 Beide Systeme

Richte für den MySQL Rootbenutzer auf localhost ein Passwort ein.

mysqladmin -u root password %sql_root_password%


2.3.2 System 1

Richte ein Passwort für den MySQL Rootbenutzer auf server1.example.com ein.

mysqladmin -u root -h server1.example.com password %mysql_root_password%


2.3.3 System 2

Richte ein Passwort für den MySQL Rootbenutzer auf server2.example.com ein.

mysqladmin -u root -h server2.example.com password %mysql_root_password%


2.4 MySQL Replication Benutzer

2.4.1 System 1

Erstelle den Replication Benutzer, den System 2 verwenden wird, um auf die MySQL Datenbank auf System 1 zugreifen zu können.

mysql -u root -p


GRANT REPLICATION SLAVE ON *.* TO 'slave2_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%';
FLUSH PRIVILEGES;
quit;

2.4.2 System 2

Erstelle den Replication Benutzer, den System 1 verwenden wird, um auf die MySQL Datenbank auf System 2 zugreifen zu können.

mysql -u root -p


GRANT REPLICATION SLAVE ON *.* TO 'slave1_user'@'%' IDENTIFIED BY '%mysql_slaveuser_password%';
FLUSH PRIVILEGES;
quit;

2.5 Datenbank auf System 2

Ich nehme an, dass die Datenbank exampledb auf System 1 bereits vorhanden ist und Tabellen mit Einträgen enthält. Also müssen wir eine leere Datenbank mit der gleichen Bezeichnung wie für die vorhandene Datenbank auf System 1 erstellen.

mysql -u root -p


CREATE DATABASE exampledb;
quit;

3 Replication

3.1 Firewall Konfiguration auf beiden Systemen

Die Versionen von system-config-firewall-tui vor 1.0.12-4.x wiesen im Zusammenhang mit individuellen Regeln (sie wurden nicht angewendet) einen Fehler auf - überprüfe also welche Version auf Deinem System installiert ist.

yum list installed | grep firewall

Falls die installierte Version älter ist als 1.0.12-4.x musst Du sie mit der neusten Version aktualisieren. Als diese Anleitung verfasst wurde, war die neuste Version nur in der updates-testing Paketdatenbank verfügbar.

yum --enablerepo=updates-testing update system-config-firewall-tui

Damit sich die mysql Server verbinden können, musst Du Port 3306 (tcp) auf beiden Systemen öffnen.

system-config-firewall

Klicke auf "Customize".


Gib den MySQL-Port in den Bereich "Other Ports" ein, wie auf dem unteren Screenshot gezeigt wird und klicke auf "OK" um die Einstellungen zu speichern.


Klicke auf "OK".


0 Kommentar(e)

Zum Posten von Kommentaren bitte