【面试官】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有所帮助! 👉花费大量精力去制作本专栏,创作不易,各位的支持就是我创作的最大动力!

全部评论
好强啊
2 回复 分享
发布于 2024-03-06 14:15 黑龙江

相关推荐

05-09 16:22
已编辑
华南师范大学 Java
  一面四小时后通知次日二面——————————🧠 个人背景与项目经历1.XX系统是你们这边的项目吗?你一直在做这个项目吗?2.做过一个XX项目是吧?是学习项目还是公司项目?3.项目中你主要负责了什么?4.你参与的项目经验多吗?5.除了XX和XX系统,有没有别的项目可以讲讲?💻 技术能力 - 后端开发6.数据库与安全7.你们系统是怎么存储用户密码的?8.单纯用 MD5 会有撞库风险,如何防御?9.接口调用怎么验证调用方身份?10.使用 MD5 校验上传文件的目的是什么?☕Java & Spring11.Spring Boot 用了哪些 starter?各自的作用是什么?12.如果第三方 starter 功能不够怎么办?13.Spring Boot 中有没有用到 AOP?14.可以用来扩展 starter 的方式有哪些?15.Spring 全家桶覆盖的范围够用吗?多线程与线程安全16.ConcurrentHashMap 为什么线程安全?17.JDK1.8 之前和之后的实现有何区别?18.size() 方法是怎么统计的?是否加锁?🔐 安全性与权限控制19.上传文件前需要做哪些安全校验?接口安全20.接口层面做了哪些安全处理?21.JWT 是怎么生成的?22.JWT 是用哪个库实现的?签名算法是什么?23.Token 刷新的触发机制是什么?24.项目中有没有做 token 自动续期?幂等性25.接口幂等性有哪些实现方式?⚙️ 系统架构与中间件26.Redis 与缓存机制27.什么是缓存穿透?怎么解决?28.什么是缓存击穿?怎么解决?29.什么是缓存雪崩?怎么解决?30.热 key 会带来什么问题?如何应对?MQ & 延迟任务31.用 MQ 实现了什么业务?32.如何通过 MQ 做延迟队列?解决了什么问题?🧱 设计模式33.工厂模式和抽象工厂模式的区别是什么?34.代理模式和装饰器模式有什么不同?🧠 Java 基础知识35.Java 能否继承多个类?36.接口中能定义实现方法吗?JDK8 之后呢?37.接口中 default 方法你了解吗?🧪 Linux 运维基础38.在 Linux 下怎么查看远程端口是否可达?39.除了 telnet 还有什么命令可以测试端口?(比如 nc)
点赞 评论 收藏
分享
—忽略我的牛客工作身份—## 背景专升3本,梦想是大厂,目标是中厂(20k),不排斥有前景稳定发展的小厂不追求WLB专科毕业时有大于10k的offer但因为是小公司,没去,选了本科沉淀## 现状在网络安全领域工作时,工作内容不是攻防/渗透ACM算法能力几乎没有(比各位差),在学了有高于常人的密码学基础(不敢碰瓷大手子,一定程度上懂原理,能实现,有对口研究院实习经历,但科研对我还是有些难(学历)),但不考虑密码测评岗有多段实习(大于一年)但方向均偏向安全(两段安全开发,质量不高)同时有上百小时的、作为讲师的网络安全培训经验有AI Agent开发经验(熟悉MCP/dify)有开源社区经历(最高star是作为协作者的2.6k repo,比如学习通 tools和一些教程笔记)熟悉计算机网络/对OS有较强兴趣(写过Xv.6和CS:APP几个lab),探索过15-445,有点过于难了,劝退对语法分析也有兴趣(学过1/3南京大学tantian老师的软件分析)投过独角兽侧开(一面挂,面试官表示我的思考是建立在开发侧而不是用户侧,应该有更多的测试思维,挂(可能是委婉的拒绝,没有恶意揣测面试官的意思))字节某个比赛时 决赛线下投过简历(挂)腾讯疑似测评挂,因为无后续推进阿里云测评和笔试一起发,测评两天后笔试撤回,昨晚梦到流程推进了,醒来后发现是梦… 真是美梦啊找过一些我认为质量比较高的内推,还是无济于事(等我后面传简历个人认为运维实力较强(一定程度熟悉k8s和docker,有网络安全办赛与维护比赛平台/服务器经验),如果读者有CTFer,可能做过我出的题Update:🗳投票更新3个选项:运维/区块链/前端Update:牛客怎么把我投票数据吞了,,,## 考量安全hc太少,薪资也低,个人更倾向开发(但开发… 投递暑期无回复(0个约面,1个笔试 4/5)碰壁,只好考虑转方向26届,面临最后一次选方向,各位佬帮出下主意个人更倾向开发,安全大家都说是成本部门,乙方公司待遇也不如甲方> 还是说沉淀两个月等秋招,刚好今年OSPP被一位导师选中> 找工作找不到满足预期的话,最差不过家里蹲。能接受,但还是想要有工作实现有钱生活
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
12
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务