前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【怒怼大厂面试官】听说你精通MySQL?来说说MySQL主从复制

【怒怼大厂面试官】听说你精通MySQL?来说说MySQL主从复制

原创
作者头像
JavaSouth南哥
修改于 2024-03-08 12:47:01
修改于 2024-03-08 12:47:01
1300
举报

面试官:咳咳咳,看你简历写了精通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,得想想考点你不懂的

未完待续。。。。。。

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

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java大佬必知必会——MySQL主从复制
本文收录在我开源的《Java学习面试指南》中,目前已经更新有近200道面试官常考的面试题,涵盖了Java系列、Redis系列、MySQL系列、多线程系列、Kafka系列、JVM系列、ZooKeeper系列等等。GitHub地址:https://github.com/hdgaadd/JavaGetOffer,相信你看了一定会有所收获。
JavaSouth南哥
2024/06/17
3350
Java大佬必知必会——MySQL主从复制
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
它的主要作用是通过检测Redis主从服务器的下线状态,选举出新Redis主服务器,也就是故障转移,来保证Redis的高可用性。
JavaSouth南哥
2024/03/03
1200
【怒怼大厂面试官】听说你精通Redis?说说Redis哨兵
浅入浅出MySQL事务等特性
7 年前 Reddit 论坛出现了这么一篇帖子,大学毕业后第一天上班的新手程序员,运行了一份数据库测试脚本,直接把整个生产数据库删掉,CTO 让他有多远滚多远。
JavaSouth南哥
2024/10/21
1090
浅入浅出MySQL事务等特性
【怒怼大厂面试官】你先说说知道哪些MySQL的高级特性
分区的一个主要目的是将数据按照一个较粗的粒度分在不同的区域,这样的话就有很多好处。
JavaSouth南哥
2024/03/14
1300
【怒怼大厂面试官】你先说说知道哪些MySQL的高级特性
探秘MySQL主从复制的多种实现方式
数据库就像是一座巨大的图书馆,而MySQL的主从复制技术就像是这座图书馆中的藏书分发系统,能够让我们的读者在不同的阅览室中阅读到同样的书籍。而今天,就让我们一起来探索MySQL主从复制的多种实现方式,带您进入这座神秘的数据库世界!
一只牛博
2025/05/30
590
探秘MySQL主从复制的多种实现方式
【怒怼大厂面试官】听说你精通Redis?说说Redis持久化
前者是保存了整个Redis数据库状态、而后者是保存了从Redis启动后所有执行的命令。
JavaSouth南哥
2024/03/01
1520
【怒怼大厂面试官】听说你精通Redis?说说Redis持久化
面试官:说一下MySQL主从复制的原理?
MySQL 主从复制(Master-Slave Replication)是一种数据复制技术,用于在多个数据库服务器之间的数据同步。在主从复制架构中,一个服务器被设置为主服务器(Master),充当数据源,其他服务器被设置为从服务器(Slave),用来复制主服务器的数据。
磊哥
2023/12/29
3750
面试官:说一下MySQL主从复制的原理?
【怒怼大厂面试官】听说你精通Redis?Redis数据同步懂吗
如果像面试官说的这种场景,再使用上面我提到的AOF缓冲区就有点浪费内存空间了。所以Redis会将主服务器的这条Del删除命令,发送给从服务器。
JavaSouth南哥
2024/03/02
1030
【怒怼大厂面试官】听说你精通Redis?Redis数据同步懂吗
MySQL主从复制详解
在MySQL中,主从架构应该是最基础、最常用的一种架构了。后续的读写分离、多活高可用架构等大多都依赖于主从复制。主从复制也是我们学习MySQL过程中必不可少的一部分,关于主从复制的文章有很多,笔者也来凑凑热闹,写写这方面的内容吧,同时分享下自己的经验和方法。
MySQL技术
2020/07/28
4200
MySQL主从复制详解
【大厂面试官】知道Redis集群和Redis主从有什么区别吗
而Redis集群则对抗压能力更看重,整个集群的数据库整合起来是一个完整的数据库。要看业务做出不同的选择。
JavaSouth南哥
2024/03/12
1870
【大厂面试官】知道Redis集群和Redis主从有什么区别吗
MySQL主从复制学习小记
MySQL 主从复制(replication)是一个异步的复制过程。从一个实例(Master)复制到另一个实例(Slave),整个过程需要由 Master 上的 IO 进程 和 Slave 上的 Sql 进程 与 IO 进程 共同完成。 首先 Master 端必须打开 binary log(bin-log),因为整个复制过程实际上就是 Slave 端从 Master 端获取相应的二进制日志,然后在本地完全顺序的执行日志中所记录的各种操作。 原理图如下:
芈亓
2023/09/26
2570
MySQL主从复制学习小记
【大厂面试演练】听说你很懂ZooKeeper?那我考考你
是这样的,ZooKeep的获取锁时会在/exclusive_lock节点下创建子节点,如果创建成功则获得锁。如果失败,则客户端会在该节点注册一个子节点变更的Watcher监听。
JavaSouth南哥
2024/03/07
2080
【大厂面试演练】听说你很懂ZooKeeper?那我考考你
MySQL主从复制---偏移量改为GTID
今天上午,做了一个比较有意思的操作,之前一直没有做过,就是把一套比较老的主从复制环境从基于偏移量的复制方式改为了基于GTID的复制方式,这里记录一下过程,如果大家有这方面的需求,可以参考一下:
AsiaYe
2019/11/06
3.6K0
搭建Mysql主从复制
MySQL主从复制是一种常用的数据库高可用性解决方案,可以提高数据库的可用性和性能。本教程将介绍如何搭建MySQL主从复制。
夕阳也是醉了
2023/10/16
4700
搭建Mysql主从复制
MySQL主从复制
MySQL复制功能提供分担读负载。 基于二进制日志的复制是异步的,那么复制有什么好处? 1.实现在不同服务器上的数据分布,利用二进制日志增量进行,不需要太多带宽,但是使用基于行的复制在进行大批量的更改时,会对带宽带来一定的压力。特别是跨IDC环境下进行复制,应该分批进行。 2.实现数据读取的负载均衡。可以通过DNS轮询的方式把程序的读连接分配到不同的备份数据库中。还有可以通过LVS+Keepalived等等。 3.增强了数据安全性,利用备库的备份来减少主库负载,还可以避免单点故障。值得注意的是,复制并不能替代备份。 4.实现数据库在线升级。
用户2032165
2018/12/04
1.3K0
MySQL主从复制
MySQL主从复制虽好,能完美解决数据库单点问题吗?
2、从库的IO线程在指定位置读取主库binlog内容存储到本地的中继日志(Relay Log)中
lyb-geek
2019/03/07
2.3K0
MySQL主从复制虽好,能完美解决数据库单点问题吗?
(8) MySQL主从复制架构使用方法
数据库服务器存在单点问题 数据库服务器资源无法满足增长的读写请求 高峰时数据库连接数经常超过上限
用户1214487
2019/05/25
8960
面试系列-mysql主从复制
MySQL主从复制涉及到三个线程,一个运行在主节点(log dump thread),其余两个(I/O thread, SQL thread)运行在从节点:
用户4283147
2022/10/27
1.3K0
面试系列-mysql主从复制
面试官:你说说Kafka是怎么保证消息可靠性的
Kafka集群的每一个分区的首领副本,都会有n(复制系数)个broker机器去复制后,生成跟随者副本。
JavaSouth南哥
2024/03/20
1430
面试官:你说说Kafka是怎么保证消息可靠性的
深入解密MySQL主从复制
MySQL 是最受欢迎的关系型数据库管理系统之一,被广泛应用于各种业务系统。主从复制是MySQL 的重要能力,用于实现数据冗余、提高可用性和性能。了解MySQL主从复制,可以更好地管理和优化数据库,为业务系统提供更强大的支持。
windealli
2024/03/13
1.1K0
深入解密MySQL主从复制
相关推荐
Java大佬必知必会——MySQL主从复制
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档