【怒怼大厂面试官】MySQL主从复制了解吧

面试者在面试中详细讨论了MySQL的主从复制机制,涉及BinaryLog、RelayLog的不同格式,强调了基于行的格式在保持数据一致性上的优势以及从库如何仅复制缺失数据。
摘要由CSDN通过智能技术生成

在这里插入图片描述

面试官:咳咳咳,看你简历写了精通MySQL,那我就随便考考你吧


面试官:不用慌尽管说,错了也没关系😊。。。


每日分享大厂面试演练,感兴趣就关注我吧❤️

面试官:MySQL主从复制了解吧

嗯嗯了解的。主要是利用了MySQL的Binary Log二进制文件。

  1. 主库把数据更改记录到Binary Log中
  2. 备库建立TCP/IP连接后通过IO线程获取Binary Log,同时将Binary Log复制到中继日志Relay Log
  3. 备库再读取Realy Log将数据进行复制

在这里插入图片描述


面试官思考中…


面试官:那这个日志格式是怎样的,有没听说过有好几种

有听说过的。主要有3种。

  1. 基于语句的二进制文件。保存了MySQL所有执行过的SQL语句
  2. 基于行的二进制文件。把行记录发生的所有事件都保存起来
  3. 混合模式。主要就是前面两种的混合使用

面试官思考中…


面试官:知道哪种二进制格式比较好吗

emmmm,我认为是第二种。

是这样的,基于语句这种的话,有数据不一致的问题出现,例如某条删除SQL语句没有使用order排序,导致每次执行删除的数据都是不同的。

而第三种混合模式的话不确定因素太多,例如它采用了基于语句的模式,同样会发生刚刚我说到的问题。


面试官思考中…


面试官:那我把二进制文件丢给从库,从库是不是复制整个文件

噢噢不是的。MySQL从库只会复制它本身缺失的最新数据,主要是利用了二进制文件里的全局事务标识符

每一次事务提交,都会被分配一个唯一的全局事务标识符,MySQL从库是根据本身当前全局事务标识符找到二进制文件对应位置,才进行复制而不是复制全部。

面试官抓抓脑袋,继续看你的简历…


emmmm,得想想考点你不懂的

未完待续。。。。。。

好了,今天的分享就先到这,我们下期继续。

创作不易,不妨点赞、收藏、关注支持一下,各位的支持就是我创作的最大动力❤️

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值