MySQL主从复制—1.基本概念

mysql复制: 当一台机器执行命令,执行过程会被记录到二进制日志里去,这些日志会发送到另外一台机器,在另外的那太机器上重新执行一遍日志里面的命令。这样就保证了两台机器数据是一样的。


复制(MySQL Replication),可以实现两个或者多个mysql数据保持一致

复制也称为主从复制:主端(Master)和从端(Slave)

实现方式: 二进制日志和中继日志


二进制日志模式

- ROW        基于行模式
- statement  基于语句模式
- mixed      混合模式

 

线程


- Slave端
| IO thread: 向Master发送获取二进制日志的请求(伪装成mysql的客户端)
| SQL thread: Slave端从中继日志中读取指令保存到数据文件中(转储线程)

- Master端
| dump thread:向从端发送二进制日志

 

同步和异步

- 同步
| Master和slave的数据会完全一致
| 客户端需要等待葱段数据复制完成,在葱段完成之前,客户端会处于阻塞状态

- 异步
| 当Master端数据处理完成后,会立刻给用户一个返回,不会等待slave端完成处理

# 1.从端通常不需要开启二进制日志
# 2.写操作只能在主端,不能在从端
# 3.当主端的数据发生了改变,采用的是通知方式

 

主从架构模型

- 一主一从
- 一主多从
- 多主一从  MySQL Multi Source Replication
- 双主模型

 

读写分离

- 结合开发人员实现

- 基于读写分离器
| amoeba
| mysql-proxy

 

中继日志

原文地址:https://www.cnblogs.com/FGdeHB/p/15810779.html