Depuis la version 3.23.15, MySQL supporte la réplication unidreictionnelle interne. Un serveur sert de maître, et les autres serveurs servent d'esclaves. Le serveur entretient des logs binaires de toutes les modifications qui surviennent. Il entretient aussi un fichier d'index des fichiers de logs binaires, pour garder la trace de la rotation des logs. Chaque esclave, après connexion réussie au serveur maître, indique au maître le point qu'il avait atteint depuis la fin de la dernière réplication, puis rattrappe les dernières modifications qui ont eu lieu, puis se met en attente des prochains événements en provenance du maître.
Un esclave peut aussi servir de maître à son tour, pour réaliser une chaîne de réplication.
Notez que lorsque vous utilisez la réplication, toutes les modifications de tables sont répliquées, et doivent intervenir sur le serveur maître. Sinon, vous devez être prudents dans vos interventions, pour ne pas créer de conflits entre les modifications de tables sur le maître et celles qui interviennent sur l'esclave.
La réplication unidirectionnelle permet de renforcer la robustesse, la vitesse et l'administration du serveur :
La robustesse est augmentée par la configuration maître/esclave. Dans le cas où un problème survient sur le maître, vous pouvez utiliser un esclave comme serveur de secours.
L'accélération provient de la répartition de la charge de
traitement des requêtes clients entre le maître et les
esclaves, permettant un meilleur temps de réponse. Les
requêtes SELECT
peuvent être envoyées
aux esclaves pour réduire la charge du maître. Les requêtes
de modifications des données sont envoyées au maître, qui
les transmettra aux esclaves. Cette stratégie de répartition
de charge est efficace si les lectures sont plus nombreuses
que les écritures, ce qui est la situation la plus courante.
Un autre avantage de la réplication est que vous pouvez faire des sauvegardes non-bloquantes de vos données sur l'esclave et non plus sur le serveur principal : ce dernier n'est pas perturbé. See Section 5.7.1, « Sauvegardes de base de données ».
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.