主从复制介绍,参考文章:MYSQL主从复制-5.7使用场景Write-主库,Read-副本库,提升整体吞吐可以在副本库进行冷备Backup,此时暂停从库复制数https://mp.weixin.qq.com/s/vmt6xbRzJBj_vxVldvZr8w
主从复制集群搭建
| 节点 | 角色 | IP |
| master | 主节点 | 192.16.172.100 |
| slave1 | 从节点 | 192.16.172.101 |
| slave2 | 从节点 | 192.16.172.102 |
1.Master节点配置
# 节点ID,集群内唯一 server-id=100 # binglog log-bin=mysql-bin # gtid支持 gtid_mode=ON enforce-gtid-consistency=ON # semi半同步支持 rpl_semi_sync_master_enabled=1 rpl_semi_sync_master_timeout=1000 # 1 second
2.Slave节点配置
# 节点ID,集群内唯一 server-id=101 # gtid开启 gtid_mode=ON enforce-gtid-consistency=ON # semi半同步模式 rpl_semi_sync_slave_enabled=1
3.Slave异步复制
3.1 非Gtid模式
CHANGE MASTER TO MASTER_HOST='172.16.182.100', MASTER_USER='repl', MASTER_PASSWORD='GhB/6Qz7gga8', MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=154;
3.2 Gtid模式
CHANGE MASTER TO
MASTER_HOST = '172.16.182.100',
MASTER_PORT = 3306,
MASTER_USER = 'repl',
MASTER_PASSWORD = 'GhB/6Qz7gga8',
MASTER_AUTO_POSITION = 1;
3.3 启动复制
START SLAVE;
4. Slave Semi半同步复制
Mysql半同步复制以插件形式提供,主从节点需要安装相应插件
4.1 Master插件安装
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
4.2 Slave插件安装
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
4.3 重启Slave复制线程
STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;
5. 常用命令
SHOW MASTER STATUS; show processlistG SHOW SLAVE HOSTS; SHOW SLAVE STATUSG show variables like 'server_id'; STOP SLAVE; STOP SLAVE IO_THREAD; STOP SLAVE SQL_THREAD; START SLAVE;
6. 主从复制效果图
Master节点:
从图中可以看出,Master节点会为每个Slave分别创建一个Dump线程,用于发送Binlog日志给Slave节点。
Slave节点:
从图中可以看出,Slave节点会创建两个线程:
IO线程:用于向Master请求和接收Master的Binlog日志,并将其写入自己RelayLog文件。
SQL线程:复制从RelayLog读取日志并应用到Slave库,完成复制。



