Base de données · 2 min read · Feb 02, 2026

Réplication Maître-Maître Avec MySQL 5 Sur Fedora 8

Réplication Maître-Maître Avec MySQL 5 Sur Fedora 8

Version 1.0
Auteur : Oliver Meyer

Ce document décrit comment configurer la réplication maître-maître avec MySQL 5 sur Fedora 8. Depuis la version 5, MySQL est livré avec un support intégré pour la réplication maître-maître, résolvant le problème qui peut survenir avec des clés auto-générées. Dans les anciennes versions de MySQL, le problème avec la réplication maître-maître était que des conflits survenaient immédiatement si le nœud A et le nœud B inséraient tous deux une clé auto-incrémentée dans la même table. Les avantages de la réplication maître-maître par rapport à la réplication maître-esclave traditionnelle sont que vous n’avez pas à modifier vos applications pour effectuer des accès en écriture uniquement sur le maître, et qu’il est plus facile de fournir une haute disponibilité car si le maître échoue, vous avez toujours l’autre maître.

Ce guide pratique est un guide sans garantie - il ne couvre pas les bases théoriques. Il existe de nombreuses façons de configurer un tel système - c’est la méthode que j’ai choisie.

1 Préparation

Pour ce guide, j’ai configuré deux systèmes Fedora 8 (installation minimale sans gui, etc.) avec la configuration suivante.

1.1 Système 1

Nom d’hôte : server1.example.com
IP : 192.168.0.100

1.2 Système 2

Nom d’hôte : server2.example.com
IP : 192.168.0.200

2 MySQL

2.1 Paquets Nécessaires Sur Les Deux Systèmes

Si vous n’avez pas installé MySQL sur les deux systèmes, vous pouvez l’installer (client et serveur) via :

yum -y install mysql mysql-server

2.2 Démarrage Initial Du Serveur MySQL Sur Les Deux Systèmes

Démarrez le serveur MySQL.

/etc/init.d/mysqld start

2.3 Mot De Passe Root MySQL

2.3.1 Les Deux Systèmes

Définissez un mot de passe pour l’utilisateur root MySQL sur localhost.

mysqladmin -u root password %sql_root_password%

2.3.2 Système 1

Définissez un mot de passe pour l’utilisateur root MySQL sur server1.example.com.

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

2.3.3 Système 2

Définissez un mot de passe pour l’utilisateur root MySQL sur server2.example.com.

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

2.4 Utilisateur De Réplication MySQL

2.4.1 Système 1

Créez l’utilisateur de réplication que le Système 2 utilisera pour accéder à la base de données MySQL sur le Système 1.

mysql -u root -p

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

2.4.2 Système 2

Créez l’utilisateur de réplication que le Système 1 utilisera pour accéder à la base de données MySQL sur le Système 2.

mysql -u root -p

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

2.5 Base De Données Sur Le Système 2

Je pars du principe que la base de données exampledb existe déjà sur le Système 1 - contenant des tables avec des enregistrements. Nous devons donc créer une base de données vide avec le même nom que la base de données existante sur le Système 1.

mysql -u root -p

CREATE DATABASE exampledb; quit;

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.