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 日志中的事件,完成数据在本地的存储。
搭建主从需要注意的事项:
主从服务器操作系统版本和位数一致;
Master
和 Slave
数据库版本要一致;
Master 和 Slave 数据库中的数据要一致;
Master 开启二进制日志, Master 和 Slave 的 server_id 在局域网内必须唯一。
修改 master 的配置( my.cnf)加入下面的内容:
[mysqld] log-bin=mysql-bin # id 必须唯一!!! server-id=1
重启 master:
systemctl restart mysql
在 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;
查看主服务器状态:
show master status;
记录下 File
和 Position
的值,之后要用到。
修改slave 的配置( my.cnf)加入下面的内容:
[mysqld] # id 必须唯一!!! server-id=2
重启 slave:
systemctl restart mysql
登录 MySQL 并运行以下命令,设置主节点参数:
mysql> CHANGE MASTER TO MASTER_HOST='master的IP地址', MASTER_USER='hugh', MASTER_PASSWORD='123456', MASTER_LOG_FILE='binlog.000006', MASTER_LOG_POS=856;
最后两行就是我们记录下的 File
和 Position
master
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.
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 #🎜🎜#mysql> show slave status\G;
Slave_IO_Running: Yes Slave_SQL_Running: Yes
Fichier Les valeurs de
et Position
seront utilisées ultérieurement. #🎜🎜#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 :# 🎜🎜##🎜🎜#rrreeeCe 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!