mysql关于“异步复制”“同步复制”“半同步复制”“无损复制”的概念与区别...

异步复制:主把事务写到binlog日志并不管从是否接收或者什么时候接收,commit之后,不会与从发生ack之类的交互。

同步复制:当主提交一个事务,在主向前端返回一个commit成功的指令前,必须保证所有的从已经提交了这个事务(所有从不但接收了,还必须apply了该事务日志)

半同步复制:(5.7.2版本之前默认且唯一的一个参数值after_commit):主上客户端发出提交指令,事务提交到了存储引擎后,等待从传递过来ack,再向前端返回成功的状态。
与无损复制的区别就是:如果在主上这个事务已经提交到了存储引擎,而正在等待从的ack过程中---这个时候发生creash,则主上这个事务其实已经认为commit了,而从还没commit,
在切换到从后,就会回滚最后的这个事务,这个时候主从的时候其实就不一致了)

无损复制:(5.7.2版本之后一个参数值after_sync):主上客户端发出提交指令,事务写入到了binlog,传递到了从(事务写入到了relay.log且flush to disk中持久化到了磁盘的relay.log中)
然后从给主反馈一个ack,master才会把事务提交到存储引擎且返回到client一个commit成功的指令。

转载于:https://www.cnblogs.com/xhyan/p/6553248.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值