Réplication MySql – Introduction

I►Nous allons voir dans cet article différents cas de réplication MySql .

I – La réplication classique UniDirectionnelle:

Les bases de données du serveur Maître (N°1) sont recopiées en temps réel vers le serveur Esclave (N°2)

Ordi

Comment se gère un tel modèle :

Cas N°1 :
Les requêtes d’écriture se font sur le serveur N°1
Les requêtes de lecture se font sur le serveur N°2
Ce qui permet de répartir les charges  en lecture  et en écriture

Cas N°2 :
Le serveur N°1 est considéré comme le serveur en production
Le serveur N°2 est considéré comme un Backup Server

Cas N°3 :
Mix des 2…

————————————————————————————————————–

Si il y a des conflits d’insert avec des clés identiques (1062. « DUPLICATE ENTRY FOR…) , la réplication va s’arrêter net et l’on risque de perdre beaucoup d’informations de sauvagrde.
Si le serveur maître s’arrête pour des raisons x (dump ou lock …1053. « Query partially completed on the master …), la réplication s’arrête également sur le serveur esclave et ne reprends pas.

Il vaut mieux les ignorer automatiquement avec la directive :
slave-skip-errors=1062,1053

Ou mieux gérer l’incrémentation des clés(ID) différemment sur chaque serveur

Sur le serveur 1 :
auto_increment_increment      = 10
auto_increment_offset         = 1
Sur le serveur 2 :
auto_increment_increment      = 10
auto_increment_offset         = 2

 

II – La réplication Croisée:

 

Ordi2

 

 

 

 

 

 

 

 

 

 

Dans ce cas de figure, les deux serveurs sont à la fois Maître et Esclave et la synchronisation se fait dans les deux sens;

Optimisation de la charge et Sécurisation des données !