Maison > base de données > tutoriel mysql > Comment configurer l'opération de synchronisation maître-esclave dans MySQL

Comment configurer l'opération de synchronisation maître-esclave dans MySQL

PHPz
Libérer: 2023-05-27 18:43:12
avant
1643 Les gens l'ont consulté

1. Synchronisation maître-esclave MySQL 8.0

Processus de synchronisation maître-esclave (principe) :

  • # 🎜 🎜#master enregistre les modifications apportées au fichier journal binaire (binary log), qui est le fichier spécifié par log-bin dans le fichier de configuration. Ces enregistrements sont appelés événements de journal binaire ; /li>

    master 将变动记录到二进制日志文件(binary log)中,即配置文件中 log-bin 指定的文件,这些记录叫做二进制日志事件(binary log events);

  • master 将二进制日志文件发送给 slave;

  • slave 通过 I/O 线程读取文件中的内容写到 relay 日志中;

  • slave 执行 relay 日志中的事件,完成数据在本地的存储。

搭建主从需要注意的事项:

  • 主从服务器操作系统版本和位数一致;

  • MasterSlave 数据库版本要一致;

  • Master 和 Slave 数据库中的数据要一致;

  • Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一。

二、MySQL主从搭建

2.1 Master 上的操作

修改 master 的配置( my.cnf)加入下面的内容:

[mysqld]
  log-bin=mysql-bin
  # id 必须唯一!!!
  server-id=1
Copier après la connexion

重启 master:

systemctl restart mysql
Copier après la connexion
Copier après la connexion

在 master 中创建用于主从同步的用户:

mysql> # 创建用户
mysql> CREATE USER 'hugh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
mysql> # 授权用户
mysql> GRANT REPLICATION SLAVE ON *.* TO 'hugh'@'%';
mysql> # 刷新权限
mysql> FLUSH PRIVILEGES;
Copier après la connexion

查看主服务器状态:

show master status;
Copier après la connexion

记录下 FilePosition 的值,之后要用到。

2.2 Slave 上的操作

修改slave 的配置( my.cnf)加入下面的内容:

[mysqld]
  # id 必须唯一!!!
  server-id=2
Copier après la connexion

重启 slave:

systemctl restart mysql
Copier après la connexion
Copier après la connexion

登录 MySQL 并运行以下命令,设置主节点参数:

mysql> CHANGE MASTER TO
MASTER_HOST='master的IP地址',
MASTER_USER='hugh',
MASTER_PASSWORD='123456',
MASTER_LOG_FILE='binlog.000006',
MASTER_LOG_POS=856;
Copier après la connexion

最后两行就是我们记录下的 File Positionmaster Envoie les fichiers journaux binaires à l'esclave ;

slave </li> code>Lire le contenu du fichier via le thread d'E/S et l'écrire dans le journal du relais ; </strong></li></p><p><code>esclave Exécuter les événements dans le journal de relais, stockage complet des données localement.

Choses à noter lors de la construction d'un maître-esclave : #🎜🎜##🎜🎜##🎜🎜##🎜🎜##🎜🎜# maître-esclave La version du système d'exploitation du serveur et le nombre de bits doivent être cohérents avec la base de données #🎜🎜##🎜🎜##🎜🎜#Maître et Esclave  ; les versions doivent être cohérentes ; #🎜 🎜##🎜🎜##🎜🎜#Les données des bases de données Maître et Esclave doivent être cohérentes ; active les journaux binaires et le server_id du maître et de l'esclave doit être unique au sein du réseau local. #🎜🎜##🎜🎜# 2. Construction maître-esclave MySQL #🎜🎜#

2.1 Opérations sur maître

#🎜🎜##🎜🎜#Modifier la configuration de master (my.cnf) Ajoutez le contenu suivant : #🎜🎜##🎜🎜#
mysql> show slave status\G;
Copier après la connexion
#🎜🎜##🎜🎜# Redémarrer le master : #🎜🎜##🎜🎜#
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Copier après la connexion
#🎜🎜##🎜🎜# dans master Créez un utilisateur pour la synchronisation maître-esclave : #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Affichez l'état du serveur maître : #🎜🎜##🎜🎜#rrreee#🎜🎜#Enregistrer Fichier Les valeurs de et Position seront utilisées ultérieurement. #🎜🎜#

2.2 Fonctionnement sur Slave

#🎜🎜##🎜🎜#Modifiez la configuration de l'esclave (my.cnf) et ajoutez le contenu suivant : #🎜🎜##🎜🎜#rrreee#🎜🎜 ##🎜🎜#Redémarrer l'esclave : #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Connectez-vous à MySQL et exécutez la commande suivante pour définir les paramètres du nœud maître : #🎜🎜##🎜🎜#rrreee #🎜🎜# Les deux dernières lignes sont les valeurs de File et Position que nous avons enregistrées. #🎜🎜##🎜🎜##🎜🎜#Vérifiez l'état de la synchronisation maître-esclave : #🎜🎜##🎜🎜#rrreee#🎜🎜##🎜🎜#Vérifiez les informations suivantes, si toutes sont oui, cela signifie l'établissement est réussi :# 🎜🎜##🎜🎜#rrreee

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal