MySql 常见主从复制模式介绍

/ 数据库 / 915浏览

概述

MySql主从复制也称之为主从同步,它是构建数据库高可用集群架构的基础。它通过将一台主机的数据复制到其他一台或者多台主机上,并重新应用日志(relay log)中的 SQL 语句来实现复制功能。MySql支持单向、双向、链式级联、异步复制,5.5版本之后加入了半同步复制,5.6版本之后增加了GTID复制,5.7版本增加了多源复制、并行复制、loss-less复制,复制过程中一台服务器充当主库(master),而一个或者多个服务器充当从库(slave)。

MySql的主从复制功能可实现:

主从复制原理

主从复制过程中的工作线程包括:
主服务器有一个工作线程,I/O dump thread;
从库服务器有两个工作线程,I/O thread 和 SQL thread。

主库把外界接收的 SQL 请求记录到自己的 binlog 日志中,从库的 I/O thread 去请求主库的 binlog 日志,并将得到的binlog日志写到自己的 relay log(中继日志)文件中。然后在从库上重做应用中继日志中的SQL语句。主库通过I/O dump thread 给从库 I/O thread 传送 binlog 日志。

主从同步过程示意图: alt

常见几种主从架构模式

单向主从模式: alt 双向主从模式: alt 级联主从模式: alt 一主多从模式: alt 多主一从模式: alt

主从的延迟

造成主从复制数据延迟的原因包含:

alt

配图:庐山芦林湖