乐于分享
好东西不私藏

为什么要学 MySQL 内核源码?

为什么要学 MySQL 内核源码?

你是否遇到过这些问题:
  • 线上一条 SQL 突然变慢,EXPLAIN 看不透,只能猜测是优化器”抽风”
  • 想给 MySQL 加一个自定义函数,却不知道从哪里下手
  • 读了无数源码分析文章,打开 IDE 依然不知如何断点、如何跟踪
  • 面试被问”一条 SELECT 的执行过程”,只能背八股,讲不到代码层面
如果你不想只做一个”会用 MySQL”的 DBA 或后端开发,而是想成为”能理解、能修改、能掌控 MySQL”的开发者——这门课就是为你准备的。
MySQL 是开源世界最成功的数据库之一,它的源码是学习数据库内核的最佳教材。但 200 万行代码、庞大的类体系、复杂的执行流程,让无数人望而却步。
这门课的目标很简单:带你跨过”从看懂到动手”的那道坎。

专栏亮点

围绕可运行的调试场景

每一讲都围绕一个可运行的调试场景展开。你不需要被动接受结论,而是跟着调试器亲眼看到:
  • Parser 如何把 SELECT 1 变成 Item_int 对象
  • Item 树如何递归求值算出 1+2
  • 执行器如何一步步拿到数据
学完即用,用调试器说话。

覆盖完整执行链路

从 SQL 输入到存储引擎返回结果,我们走完 MySQL 内核中最核心的路径:
Parser → AST(Item 体系)→ 执行器 → InnoDB
也就是,MySQL数据库看懂你的 SQL -> 记下笔记 -> 制定计划 -> 从存储取数据。
不绕弯路,不打散知识点,让你建立真正的”全局感”。

动手实现真实功能

不只是读代码,你还将亲手实现一个 MySQL 函数 my_add,并注册到 MySQL 中执行。这是从”理解者”到”贡献者”的第一步。

小步快跑,每讲都有获得感

每讲围绕一个明确的问题展开。

讲师介绍

柯煜昌
  • 华中科技大学研究生;
  • 多年数据库内核开发经验。

适合人群

  • DBA:想突破”只会用”的瓶颈,具备源码级问题排查能力;
  • 后端开发:希望深入理解数据库底层原理,写出更高效的 SQL;
  • 数据库内核爱好者:想入门 MySQL 源码,但苦于没有系统路径;
  • 面试准备者:想在 MySQL 深度问题上与面试官”对等对话”。

前置知识

  • 有MySQL基础
  • 了解 C/C++ 基础(能读懂函数、类、指针即可,或者会借助AI来了解这些)
  • 有基础的 Linux 命令行操作能力
不需要:深入理解 MySQL 架构、手写 C++ 项目经验

专栏目录

阶段

章节

标题

第一阶段:建立控制感

章节 1

MySQL 内核全景是怎样的?

章节 2

如何编译出一个能Debug的MySQL环境

章节 3

用调试器抓住第一条 SQL

第二阶段:理解 SQL 如何执行

章节 4

MySQL 如何把一条 SQL 文本变成内部数据结构?

章节 5

一行SQL在内核中经历了什么?

章节 6

执行器有哪些作用?

章节 7

日志调试:像侦探一样查找MySQL的运行脚印

第三阶段:实现一个小功能

章节 8

一起来实现第一个 自定义SQL 函数

章节 9

把你的函数放进MySQL里

章节 10

运行: 跑一下看看效果

第四阶段:进入存储引擎

章节 11

SQL 是怎样进入 InnoDB的?

章节 12

尝试修改 InnoDB 的行为

第五阶段:进阶可选

章节 13

如何查看优化了什么:(EXPLAIN)入门

章节 14

给优化器指路: 简单”改优化器行为”

章节 15

扩展与总结

专栏交流群

订阅专栏后,你将加入专属交流群:
  • 答疑:每讲配套答疑,调试卡住了?群里直接问
  • 同行交流:和同样在啃源码的同学互相启发
  • 不定期加餐:根据学员反馈,加讲高频难点
入群方式:订阅后添加下方微信,发送订单截图即可入群

订阅说明

  • 形式:图文
  • 更新节奏:每周一、三更新
  • 有效期:长期有效,可反复学习
如果你准备好了,我们一起走进 MySQL 源码的世界。
订阅方式

小程序:点击跳转

网页端:点击下方阅读原文(iOS用户请使用此方式)。