掌握 MySQL 内核源码的阅读和调试能力,不仅是数据库研发人员的日常,也是 DBA 进阶的必经之路。
阅读本文你将了解:
- 如何准备 MySQL 调试环境
- GDB 调试入门及操作示例
- Trace 文件调试及操作示例
| 一、准备 Debug 环境
首先用源码编译安装一个用来调试的 MySQL 环境。
开启 -DWITH_DEBUG
,在源码路径创建 build
目录,进入目录并执行:
cmake .. -DWITH_BOOST=../../boost -DWITH_DEBUG=1
然后通过如下方式,确认是否编译成功。
方式一:
$ ./bin/mysqld --verbose --version
回显 debug 版本信息,则编译的是 debug 版本。
ver 8.0.18-debug for Linux on x86_64 (Source distribution)
方式二:
连接数据库,执行查看版本命令。回显包含了 debug 字样,则编译的是 debug 版本。
$ mysql> select version();
+--------------+
| version() |
+--------------+
| 8.0.18-debug |
+--------------+
1 row in set (0.00 sec)