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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律