Datenbank · 2 min read · Feb 02, 2026

Master-Master-Replikation mit MySQL 5 auf Fedora 8

Master-Master-Replikation mit MySQL 5 auf Fedora 8

Version 1.0
Autor: Oliver Meyer

Dieses Dokument beschreibt, wie man die Master-Master-Replikation mit MySQL 5 auf Fedora 8 einrichtet. Seit Version 5 bietet MySQL integrierte Unterstützung für die Master-Master-Replikation, die das Problem löst, das bei selbstgenerierten Schlüsseln auftreten kann. In früheren MySQL-Versionen war das Problem bei der Master-Master-Replikation, dass Konflikte sofort auftraten, wenn Knoten A und Knoten B beide einen automatisch inkrementierenden Schlüssel in derselben Tabelle einfügten. Die Vorteile der Master-Master-Replikation gegenüber der traditionellen Master-Slave-Replikation sind, dass Sie Ihre Anwendungen nicht ändern müssen, um Schreibzugriffe nur auf den Master zu beschränken, und dass es einfacher ist, hohe Verfügbarkeit zu gewährleisten, da Sie, wenn der Master ausfällt, immer noch den anderen Master haben.

Dieses Howto ist ein praktischer Leitfaden ohne Gewähr - es behandelt nicht die theoretischen Hintergründe. Es gibt viele Möglichkeiten, ein solches System einzurichten - dies ist der Weg, den ich gewählt habe.

1 Vorbereitung

Für dieses Howto habe ich zwei Fedora 8 Systeme (minimale Installation ohne GUI usw.) mit folgender Konfiguration eingerichtet.

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

Wenn Sie MySQL auf beiden Systemen noch nicht installiert haben, können Sie es (Client & Server) über:

yum -y install mysql mysql-server

2.2 MySQL-Server initial starten auf beiden Systemen

Starten Sie den MySQL-Server.

/etc/init.d/mysqld start

2.3 MySQL Root-Passwort

2.3.1 Beide Systeme

Setzen Sie ein Passwort für den MySQL-Root-Benutzer auf localhost.

mysqladmin -u root password %sql_root_password%

2.3.2 System 1

Setzen Sie ein Passwort für den MySQL-Root-Benutzer auf server1.example.com.

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

2.3.3 System 2

Setzen Sie ein Passwort für den MySQL-Root-Benutzer auf server2.example.com.

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

2.4 MySQL-Replikationsbenutzer

2.4.1 System 1

Erstellen Sie den Replikationsbenutzer, den System 2 verwenden wird, um auf die MySQL-Datenbank auf System 1 zuzugreifen.

mysql -u root -p

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

2.4.2 System 2

Erstellen Sie den Replikationsbenutzer, den System 1 verwenden wird, um auf die MySQL-Datenbank auf System 2 zuzugreifen.

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 gehe davon aus, dass die Datenbank exampledb bereits auf System 1 existiert - mit Tabellen, die Datensätze enthalten. Daher müssen wir eine leere Datenbank mit demselben Namen wie die vorhandene Datenbank auf System 1 erstellen.

mysql -u root -p

CREATE DATABASE exampledb; quit;

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.