【面试官】MySQL主从复制了解吧?
- 面试官:MySQL主从复制了解吧?
- 面试官:那Binary Log日志格式知道有哪些?
- 面试官:知道哪种二进制格式比较好吗?
- 面试官:那MySQL主从模式有什么好处?
- 面试官:如果把二进制文件丢给从库,从库是不是复制整个文件?
大家好,我是南哥。
一个Java学习与进阶的领路人,跟着南哥我们一起Java成长。
文章目录
- MySQL主从复制
- 二进制文件的日志格式
- 二进制文件选择
- 主从模式的优点
- 全局事务标识符
1. MySQL主从复制
面试官:MySQL主从复制了解吧?
回答这个问题前,大家先思考下MySQL主从复制起到了什么作用。知道技术诞生的缘由,技术原理和步骤的整个逻辑推导就很清晰。
MySQL主从复制把数据库数据同步到多台服务器上,同理就可以把读操作分布到多台服务器上,这对于那些读密集型的系统性能提升是很大的。
数据有了多台服务器的备份,就不怕单点故障。我们只需要快速切换到另一台MySQL服务器即可,减少了数据库宕机的时间。
MySQL主从复制主要是利用了主库的Binary Log二进制文件来进行数据复制。
复制的步骤可以分为三步。
- 主库根据数据库事务提交的顺序,把数据更改记录到二进制文件Binary Log中。
- 备库建立TCP/IP连接后通过IO线程获取Binary Log,同时将Binary Log复制到中继日志Relay Log。
- 备库再读取中继日志Realy Log中的事件,重放到备库的数据里。
如果你现在有两台MySQL,一台版本是03年的MySQL5.0,另一台是18年的MySQL8.0.11。新版本可以作为老版本的从服务器,但反过来是不可行的。MySQL的复制具有向后兼容性,老版本可能无法解析新版本的新特性,甚至复制的文件格式都差异太大。
1.1 二进制文件的日志格式
面试官:那Binary Log日志格式知道有哪些?
MySQL提供了三种二进制日志格式用于主从复制。
- 基于语句的二进制文件,保存了在MySQL主库所有执行过的数据变更语句,相当于从库需要把主库执行过的SQL都执行一遍。
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
Java面试突击大厂 文章被收录于专栏
👉以面试官面试的形式,涵盖了你怒怼大厂面试官、拿下大厂面试所需掌握的核心知识、面试重点 👉相信一定对你顺利通关面试、拿到理想Offer有所帮助 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力