1.源码编译,加debug参数

cmake 

-Dxxx
-Dxxx
-Dxxx

-DWITH_DEBUG=1

2.debug模式启动

mysqld --debug --console &

3.找到MySQL的PID

ps -ef|grep mysqld


mysql5.7 21001    1  2 20:30 pts/3    12:10:11 mysqld --debug --console

4.打开trace文件

tail -f /tmp/mysqld.trace

可以看到,任何在MySQL的操作,调用的函数信息都记录在这个trace文件中.

找到其中任意一行,比如 PROFILING::status_change

5. gdb调试

gdb --pid 21001 --tui

6.打断点

break PROFILING::status_change

7.打开另一个终端,执行sql,即可进行调试