由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望,然后我花了些时间研究下怎么使用CLion Debug MySQL。

获取源码

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
git clone https://github.com/mysql/mysql-server 

编译安装初始化数据库

cd mysql-server

cmake \
-DCMAKE_INSTALL_PREFIX=/path/mysql/install \ -DMYSQL_DATADIR=/path/mysql/data \ -DSYSCONFDIR=/path/mysql/etc \ -DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock \ -DWITH_DEBUG=1 \ -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/mysql-server/ -DDOWNLOAD_BOOST_TIMEOUT=60000 make -j 4 make install -j 4 mysqld --initialize-insecure --user=root --datadir=/path/mysql/data 

启动MySQL,测试下是否安装成功 

/path/install/bin/mysqld --defaults-file=/path/mysql/etc/my.cnf 

使用CLion新建工程并打开源码目录之后,设置CLion 怎么样使用CLion调试分析MySQL Server 随笔 第1张

CMake Options和你编译安装时的选项一致

-DCMAKE_INSTALL_PREFIX=/path/mysql/install -DMYSQL_DATADIR=/path/mysql/data -DSYSCONFDIR=/path/mysql/etc -DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock -DWITH_DEBUG=1 

然后在CLion里,Reload CMake Project

怎么样使用CLion调试分析MySQL Server 随笔 第2张

在Run/Debug列表里就可以看到很多选项了

怎么样使用CLion调试分析MySQL Server 随笔 第3张

找到mysqld配置下启动参数 怎么样使用CLion调试分析MySQL Server 随笔 第4张

mysqld --defaults-file=/path/mysql/etc/my.cnf 

然后以Debug模式启动,看下成功的效果 怎么样使用CLion调试分析MySQL Server 随笔 第5张

学习MySQL源码的文档

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄