39、数据误操作了如何快速恢复你好,我是俊达。 上一讲中,我们知道了如何使用Xtrabackup来备份数据库和恢复数据库。不管是全量备份,还是增量备份,实际上都只能将数据库恢复到一个固定的时间点,这个时间点就是Xtrabackup备份完成的那个时刻。 但是在现实中,数据恢复的要求...2026-01-19MySQL运维实战课
40、MySQL 8.0 Clone 插件的应用和内部原理你好,我是俊达。 前面我讲过,搭建一个备库,有一个核心的步骤是同步源库的初始状态。逻辑备份(比如使用mysqldump)和物理备份(比如使用xtrabackup)都可以用来初始化备库。MySQL 8.0中,还引入了Clone插件,也可以用来初始化一个...2026-01-19MySQL运维实战课
41、MySQL 8.0 组复制技术的应用(上)你好,我是俊达。 数据复制技术是构建MySQL高可用环境的基础,但无论是异步复制,还是半同步复制,在理论上都无法保证极端情况下数据完全一致。MySQL 8.0中的组复制技术(MGR,MySQL Group Replication),使用了基于Paxo...2026-01-19MySQL运维实战课
42、MySQL 8.0 组复制技术的应用(下)你好,我是俊达。 为了实现事务数据的强一致性,group_replication插件在事务的处理流程上,加入了一些特殊的处理逻辑。这一讲中,我们来大致地了解下组复制的一些实现细节。当然,由于组复制的实现比较复杂,这里只能介绍部分实现逻辑。 MGR架构...2026-01-19MySQL运维实战课
43、ProxySQL:数据库高可用了,应用高可用怎么做你好,我是俊达。 通过前面几讲,我们知道了怎么使用MySQL的数据复制技术,来实现数据库层面的高可用。但是对于应用系统,当后端的MySQL发生高可用切换时,应该怎么处理? 这里有几种可选的方案。 应用通过域名访问数据库。域名指向主库,当后端数据库发...2026-01-19MySQL运维实战课
44、如何搭建一个 MySQL 监控平台你好,我是俊达。 整个专栏到这儿,差不多也快结束了。这一讲中,我们来聊一聊,MySQL的监控怎么做。把监控放到专栏的最后,其实也有一定的原因。当你对整个MySQL的体系结构和运行环境有了全面的了解后,就能更好地理解MySQL需要监控什么。 监控什么?...2026-01-19MySQL运维实战课
45、MySQL源码分析和GDB调试器的应用你好,我是俊达。 之前在评论区有同学留言问是否能加一讲源代码调试的内容。考虑到这个专栏中有相当多的篇幅是讲MySQL和InnoDB的内部实现机制,而我自己在整理这些内部原理时,也参考了大量的MySQL源码,有时也会用GDB来调试跟踪代码的执行,因此在...2026-01-19MySQL运维实战课
46、基础篇:课后题答疑你好,我是俊达。 这一讲主要是对专栏基础篇中思考题的一个统一的答疑。实际上在评论区中, 我也看到了同学们对很多思考题的精彩解答。这里做一个汇总和补充,方便大家查看。 第1讲问题:早期的版本中,登录服务器本地的MySQL默认不需要密码。这存在一定的安全...2026-01-19MySQL运维实战课
47、InnoDB存储引擎篇、课后题答疑你好,我是俊达。今天我们继续看第三章的思考题。 第25讲问题:我们都知道InnoDB中每个索引都由2个段(Segment)组成,每个段由一系列区(Extent)组成,每个区的大小为1M。类似我们测试中的这个表,只写入了几行数据,那么为这个表分配一个区...2026-01-19MySQL运维实战课
48、SQL优化篇、课后题答疑你好,我是俊达。 这一讲我们来看一下SQL优化篇中的思考题的解答。 第17讲问题: 12345678910111213141516171819202122create table t_n(a int not null, primary key(a))...2026-01-19MySQL运维实战课