半同步复制简介
半同步复制简介:
默认情况下,MySQL 5.5/5.6/5.7和MariaDB 10.0/10.1的复制功能是异步的,异步复制可以提供最佳的性能,主库把Binlog日志发送给从库,这一动作就结束了,并不会验证从库是否接收完毕,但这同时也带来了很高的风险,这就意味着当主服务器或从服务器发生故障时,有可能从机没有接收到主机发送过来的Binlog日志,会造成主服务器/从服务器的数据不一致,甚至在恢复时会造成数据丢失。
为了解决上述问题,MySQL 5.5 引入了一种半同步复制(Semi Replication)模式,该模式可以确保从服务器接收完主服务器发送的Binlog日志文件并写入自己的中继日志(Relay Log)里,然后会给主服务器一个反馈,告诉对方已经接收完毕,这时主库线程才返回给当前session告知操作完成,如下图所示。当出现超时情况时,源主服务器会暂时切换到异步复制模式,直到至少有一台设置为半同步复制模式的从服务器及时收到信息为止(见图2-140)。
简言之,半同步复制在一定程度上可保证提交的事务已经传给了至少一个备库,因此,半同步复制与异步复制相比,进一步提高了数据的完整性。
注意 半同步复制模式必须在主服务器和从服务器同时启用,否则主服务器默认使用异步复制模式。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341