【面试官】MySQL主从复制了解吧?

  • 面试官:MySQL主从复制了解吧?
  • 面试官:那Binary Log日志格式知道有哪些?
  • 面试官:知道哪种二进制格式比较好吗?
  • 面试官:那MySQL主从模式有什么好处?
  • 面试官:如果把二进制文件丢给从库,从库是不是复制整个文件?

大家好,我是南哥。

一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。

文章目录

  1. MySQL主从复制
    1. 二进制文件的日志格式
    2. 二进制文件选择
    3. 主从模式的优点
  2. 全局事务标识符

1. MySQL主从复制

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

回答这个问题前,大家先思考下MySQL主从复制起到了什么作用。知道技术诞生的缘由,技术原理和步骤的整个逻辑推导就很清晰。

MySQL主从复制把数据库数据同步到多台服务器上,同理就可以把读操作分布到多台服务器上,这对于那些读密集型的系统性能提升是很大的。

数据有了多台服务器的备份,就不怕单点故障。我们只需要快速切换到另一台MySQL服务器即可,减少了数据库宕机的时间。

MySQL主从复制主要是利用了主库的Binary Log二进制文件来进行数据复制

复制的步骤可以分为三步。

  1. 主库根据数据库事务提交的顺序,把数据更改记录到二进制文件Binary Log中。
  2. 备库建立TCP/IP连接后通过IO线程获取Binary Log,同时将Binary Log复制到中继日志Relay Log。
  3. 备库再读取中继日志Realy Log中的事件,重放到备库的数据里。

如果你现在有两台MySQL,一台版本是03年的MySQL5.0,另一台是18年的MySQL8.0.11。新版本可以作为老版本的从服务器,但反过来是不可行的。MySQL的复制具有向后兼容性,老版本可能无法解析新版本的新特性,甚至复制的文件格式都差异太大。

1.1 二进制文件的日志格式

面试官:那Binary Log日志格式知道有哪些?

MySQL提供了三种二进制日志格式用于主从复制。

  1. 基于语句的二进制文件,保存了在MySQL主库所有执行过的数据变更语句,相当于从库需要把主库执行过的SQL都执行一遍。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

Java面试突击大厂 文章被收录于专栏

👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力

全部评论

相关推荐

5 9 评论
分享
牛客网
牛客企业服务