Mysql主从复制&半同步复制原理

一、Mysql主从复制原理

MySQL主从复制实则是一个异步复制的过程。经历了三个线程:主库和从库上的I/O线程,SQL线程。

这里写图片描述
MySQL的主从复制,实际上Slave端获取到Master端binlog日志(记录了SQL数据操作,增删添,不记录查询语句),将信息存放到relay中触发SQL线程进行还原的一个过程。

主从复制要点:

  • 主库开启binlog
  • 主库建立用户,给从库授权认证
  • 从库配置master.info(CHANGE MASTER TO 建立连接)
  • 复制开关:start slave
  • 作为复制的所有MySQL节点的server-id都不能相同(0 < server-id < 2^23-1)
    这里写图片描述

如果主库突然宕机了,会造成数据丢失,那么怎么解决这个问题呢?

这时候半同步复制的优势就发挥出来了。

二、半同步复制

介于异步复制和全同步复制之间,主库在执行完客户端提交的事务后不是立刻返回给客户端,而是等待至少一个从库接收到并写到relay log中才返回给客户端。相对于异步复制,半同步复制提高了数据的安全性,同时它也造成了一定程度的延迟,这个延迟最少是一个TCP/IP往返的时间。

这里写图片描述

事物在主库执行完binlog后接受到从库的ACK,才会回复客户端。所以,相比而言,性能有所降低。

半同步复制特点:

  • 确保事务提交后binlog至少传输到一个从库
  • 不保证从库应用完成这个事务的binlog
  • 网络异常或从库宕机,卡主库,直到超时或从库恢复
  • 3
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值