Principe et configuration de la réplication maître-esclave Mysql

Principe de réplication maître-esclave

La réplication maître-esclave de la base de données MySQL est basée sur le journal binaire MySQL et le serveur esclave qui doit être synchronisé est répliqué via le journal du journal bin. Il comprend principalement trois threads (2 threads d'E/S, 1 thread SQL). Il a un lien inévitable avec la séparation lecture-écriture de MySQL.Tout d'abord, la réplication maître-esclave doit être déployée et la séparation lecture-écriture des données ne peut être effectuée qu'une fois terminée. Un fichier serveur fait office de serveur maître, acceptant les mises à jour de contenu des utilisateurs, et un ou plusieurs autres serveurs agissent comme serveurs esclaves, acceptant le contenu du journal du fichier binlog sur le serveur maître , analysant SQL et effectuant une nouvelle mise à jour vers l'esclave. serveur . Rendre cohérentes les données des serveurs maître et esclave.

En termes simples, une fois que les deux machines A et B sont maître-esclave, les données sont écrites sur A et l'autre machine B écrira également des données pour réaliser les étapes de réplication maître-esclave de synchronisation des données en temps réel.

1. Lorsque le nœud maître effectue des opérations d'insertion, de mise à jour et de suppression, il sera écrit dans le journal binaire dans l'ordre.
2.salve est connecté à la bibliothèque principale principale depuis la bibliothèque.
3. Lorsque le journal binaire du nœud maître change, le thread de vidage du journal binaire avertira tous les nœuds esclaves et transmettra le contenu du journal binaire correspondant aux nœuds esclaves.
4. Une fois que le thread d'E/S a reçu le contenu du journal binaire, il écrit le contenu dans le journal de relais local.
5. Le thread SQL lit le journal de relais écrit par le thread d'E/S et effectue les opérations correspondantes sur la base de données esclave en fonction du contenu du journal de relais.

Configuration de la bibliothèque principale

1. server_id définir et activer les paramètres binlog

[root@localhost ~]# vim /etc/my.cnf

id_serveur=1

log_bin=mysql_bin

2. Redémarrez le service MySQL

[root@localhost ~]# systemctl redémarrer mysqld

3. Connectez-vous à l'utilisateur autorisé MySQL

mysql> accorde l'esclave de réplication sur *.* à l'ide 'rep1'@'192.168.244.%'

Requête OK, 0 ligne affectée, 1 avertissement (0,00 s)

afficher les informations

mysql> mysql> afficher l'état du maître ;

Configurer depuis la bibliothèque

1. Définissez la valeur server_id et redémarrez le service mysql

[root@localhost ~]# vim /etc/my.cnf

id_serveur=2

[root@localhost ~]# systemctl redémarrer mysqld

2. Configurer la synchronisation de la bibliothèque maître-esclave

mysql> changer le maître en

MASTER_HOST='192.168.244.146',

MASTER_PORT=3306,

MASTER_USER='rep1',

MASTER_PASSWORD='RedHat@123',

MASTER_LOG_FILE='mysql-bin.000003',

MASTER_LOG_POS=154 ;

3. Démarrez le commutateur de synchronisation de la bibliothèque esclave

mysql> démarrer l'esclave ;

Requête OK, 0 ligne affectée (0,00 s)

vérifier l'état

mysql> afficher le statut de l'esclave;

おすすめ

転載: blog.csdn.net/m0_70940822/article/details/131950482