mysql的复制

mysql有同步复制和异步复制。

同步复制使用了两阶段提交协议,基本原理如下:

1.Master提交事务,Slave接收到事务,开始准备提交事务;

2.Slave开始准备提交事务,然后发送Ok消息到Master,表示已经准备好提交事务(或者发送ABORT消息到Master表示,无法准备提交事务);

3.Master等待接收Slave的OK(或ABORT)消息:

 a.如果接收到OK消息,则向Slave发送提交消息,告诉Slave可以开始提交事

 b.如果接收到ABORT消息,这向所有Slave发送取消提交信息,告诉Slave 终止提交事务

4.每个Slave等待Master的消息:

a.如果接收到OK消息,就提交事务,并向Master发送事务已提交的确认信息

b.如果接收到ABORT消息,则终止提交事务并释放所有资源,并向Master发送事务已终止的确认

5.Mater接收到Slave的确认信息后,然后开始下一个事务的提交。


       影响同步复制速度的主要因素并不是网络延迟(当构架在千兆以上的局域网中时,其影响很小),而是当一个事务提交后,会造成阻塞。只有等待一个事务完成后才能开始下一个事务的提交。


异步复制是一种单向的复制方式

1.Master将更新信息写到二进制日志文件中,并为这些文件建立索引以明了日志循环,该二进制文件作为更新记录发送给Slave;

2.Slave接收到更新的所有信息,然后阻塞并等待Maser通知其进行新的更新。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值