美文网首页
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