美文网首页
Mysql 复制架构

Mysql 复制架构

作者: 明翼 | 来源:发表于2022-01-03 11:17 被阅读0次

Mysql 复制架构

数据库复制的其实就是数据的同步,Mysql数据库基于binary log日志进行数据
增量同步,binary log 日志记录了所有对Mysql数据库的修改操作。
查看:
show binlog_events in 'binlog.000001'
或者:
mysqlbinlog -vv 'binlog.000001'

如下图所展示:

  1. Master 服务器将数据变更产生的二进制日志通过Dump线程发送给Slave服务器。
  2. slave服务器的I/O线程负责接收日志数据,保存为中继日志。
  3. slave服务器的worker线程负责执行中继日志,完成在slave服务器回放Master的日志。

操作步骤:

  1. 创建复制的账号,赋权。
  2. 从Master服务器上通过mysqldump工具拷贝全量数据。
  3. 通过命令change master to 搭建复制关系。
  4. 通过命令show slave status 观察复制状态。

建议配置:
gtid_mode = on
enforce_gtid_consistency = 1
binlog_gtid_simple_recovery = 1
relay_log_recovery = ON
master_info_repository = TABLE
relay_log_info_repository = TABLE

可以保证无论是Master还是Slave宕机恢复后,数据一致。

Mysql复制分类:

  1. 异步复制,Master和Slave 相互不依赖,性能最好,用在数据不太重要,容易丢失,比如日志监控场景。
  2. 多源复制,多个Master复制到一台Slave上,便于做统计。
  3. 延迟复制,Slave延迟回放收到的二进制日志,防止Master上误操作被同步到Slave上:
  4. 半同步复制: Master在事务提交的过程中,至少N个Slave已经接收到了二进制日志,确保Master宕机时候,
    至少N台Slave的数据是完整的,用于核心业务场景。
    CHANGE MASTER TO master_delay = 3600

相关文章

网友评论

      本文标题:Mysql 复制架构

      本文链接:https://www.haomeiwen.com/subject/rwdxcrtx.html