这篇文章主要讲解了“Mysql主从复制的三种方式分别是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Mysql主从复制的三种方式分别是什么”吧!
同步复制指的是当主库提交事务后,binlog已经通过dump线程传到从库的中继日志,主库需要一直等待从库的提交确认,从库重放完成之后,回复一个ACK给主库,主库这才结束等待,执行后续操作,注意:如果这个时候有多个从节点,那么主库等待的时间就越久,所以需要设置一个超时等待时间。
异步复制模式为了解决主库等待时间过长的问题,将返回确认取消了,也就是说当主库提交完事务后,不需要等待从库提交确认,就直接执行后续操作,返回客户端;但是这个就会造成这样一个问题:当主机提交完事务后挂了,但是这个时候binlog还没有同步到从库,如果强制切换主从的话,就会造成新的主库数据不完整
半同步方式介于同步和异步复制方式做了一个折中:同样主库还是需要等待从库的确认后才执行后续操作,但是不同的是这次不是等待从库提交完事务后,才发一个确认通知给主库,而是当从库将binlog写到relaylog后,就会给主库发送确认通知,这个不仅缩短了等待时间而且还维护了数据的安全性
在半同步复制情况下如果有这样一个情况:当主库提交完事务之后,就开始等待从库的relay写入返回,如果从库这个时候发生了意外(有可能被人偷走了),导致主库等待超时,这个时候主库就会直接结束等待了,因为事务已经提交了,用户肯定是可以看到没有被同步的数据,为了解决这个问题,mysql5.7引入了增强半同步复制: 只有当收到至少一个从库返回的relay log写入确认后,才提交事务,也就是说提交事务在收到确认之后
感谢各位的阅读,以上就是“Mysql主从复制的三种方式分别是什么”的内容了,经过本文的学习后,相信大家对Mysql主从复制的三种方式分别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。