1. MySQL主从复制原理
1.1. 主从复制具体实现官方说明:
1.2. 示意图

1.3. 相关线程
MySQL复制功能使用三个线程实现,一个在主服务器上,两个在从服务器上
Binlog dump thread: 主节点Binlog转储线程,用于主节点在被从节点连接后发送二进制日志内容。Slave I/O thread: 从节点 I/O 线程,当从节点执行START SLAVE语句时,将创建一个 I/O 线程,该线程连接到主节点,并要求它发送在其二进制日志中记录的更新。Slave SQL thread: 从节点 SQL 线程,来读取由从节点 I/O 线程读取的中继日志,并执行其中包含的事件。
2. 互为主从配置
2.1. 注意事项
- 主从复制只能复制开启主从复制之后的记录,开启前要保证各节点数据一致,数据手动同步可参考MySQL数据库手动同步复制(拷贝datadir目录文件)。
- 两个MySQL服务节点分别用
mysql-01和mysql-02表示。
2.2. 开启复制配置
- 编辑
mysql-01节点的配置文件my.cnf,在[mysqld]配置段中添加以下配置
# 设置服务节点ID,不能重复
server-id=1
# 开启二进制同步
log-bin=mysql-bin
# 需要开启二进制日志的数据库,可设置白名单[binlog-do-db]和黑名单[binlog-ignore-db]中一种,多个可重复设置
binlog-do-db=my_database_a
binlog-do-db=my_database_b
# 需要开启同步的数据库,可设置白名单[replicate-do-db]和黑名单[replicate-ignore-db]中一种,多个可重复设

本文介绍了MySQL主从复制的基本原理,包括主从复制的官方实现细节、相关线程介绍。详细阐述了如何进行互为主从配置,包括注意事项、配置复制、创建复制用户、重启服务以及建立复制关系的步骤。确保在配置前数据一致,通过创建特定用户并设置权限,最后通过SQL语句在各自节点上建立复制关系。
最低0.47元/天 解锁文章
174万+

被折叠的 条评论
为什么被折叠?



