汤俊飞博客

大帅比

MySQL主从同步方式

  • 基于binlog的同步

    MySQL 最常见的主从同步方式。

    同步过程:

    • 主服务器将数据变更记录到binlog中,数据一致性采用两阶段(2pc)提交。

    • 从服务器通过 I/O 线程连接到主服务器,读取二进制日志并写入到中继日志(Relay Log)。

    • 从服务器的 SQL 线程读取中继日志并执行相应的 SQL 语句,从而实现数据同步。

  • 基于全局事务标识符(GTID)的同步

    GTID 是 MySQL 5.6 引入的复制方式,简化主从同步的配置和管理,并提供更高的可靠性和可扩展性

    全局事务标识符:每个事务在主服务器上执行时都会被分配一个唯一的 GTID,格式为 UUID:transaction_id,其中 UUID 是服务器的唯一标识符,transaction_id 是事务的序列号

    同步过程:

    • 主服务器将每个事务包装在一个 GTID 中,并记录到二进制日志中。

    • 从服务器通过 GTID 自动定位到主服务器的最新事务,并从该点开始同步。

  • 基于并行复制的同步

    MySQL5.7中引入的复制方式。

    并行复制是指从服务器通过多个SQL线程并行执行中继日志中的SQL语句,从而提高数据同步速度的技术。

    主要用于减少从服务器处理数据变更操作的延迟,提高系统的整体性能。

    同步过程:

    • 主服务器将数据变更记录到binlog中。

    • 从服务器通过多个 SQL 线程并行执行中继日志中的 SQL 语句,从而实现更快的数据同步。

  • 基于多源复制的同步

    MySQL 5.7 引入了多源复制功能,允许从服务器从多个主服务器同步数据。

    多源复制允许从服务器从多个主服务器同步数据,主要用于实现负载均衡和数据冗余。在多源复制中,从服务器通过多个I/O线程连接到不同的主服务器,并行读取各自的二进制日志,并通过多个SQL线程并行执行多个中继日志中的SQL语句。

    同步过程

    • 从服务器通过多个 I/O 线程连接到不同的主服务器,读取各自的二进制日志。

    • 从服务器的 SQL 线程并行执行多个中继日志中的 SQL 语句,从而实现从多个主服务器同步数据。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年11月    »
123
45678910
11121314151617
18192021222324
252627282930
  • 文章总数:8
  • 页面总数:1
  • 分类总数:5
  • 标签总数:4
  • 评论总数:0
  • 浏览总数:98
您好,欢迎到访网站!
  查看权限