暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

mysql dbug包介绍

黄江平 2024-09-22
250

使用mysql debug模式,可以分析每个操作的详细过程。
要使用mysql的debug模式,需要启动mysql的debug版

1 .启动mysql debug版,把mysqld文件改成mysqld-debug启动。
如下
image.png
用mysqld_safe启动的话,在启动时加入–debug
image.png

2.开启debug 模式
d: 表示开启debug模式
t: 表示启用函数调用debug模式
i: 在trace文件中加入pid
o,/tmp/mysqld.trace 表示trace的文件

mysql [localhost:8032] {root} ((none)) > set global debug=‘d:o,/tmp/mysqld.trace’;
Query OK, 0 rows affected (0.03 sec)

mysql [localhost:8032] {root} ((none)) > create table test.test10 (id bigint);
Query OK, 0 rows affected (0.14 sec)

查看trace文件,可以看到创建过程的一些细节。
image.png

如果需要查看更详细的函数调用

mysql [localhost:8032] {root} ((none)) > set global debug=‘d:o,/tmp/mysqld.trace:t,40’;
Query OK, 0 rows affected (0.00 sec)

mysql [localhost:8032] {root} ((none)) > create table test.test11 (id bigint);
Query OK, 0 rows affected (0.12 sec)

image.png

如果需要输入源代码文件名和对应的行号,
mysql [localhost:8032] {root} ((none)) > set global debug=‘d:o,/tmp/mysqld.trace:t,40:F:L’;
Query OK, 0 rows affected (0.00 sec)

mysql [localhost:8032] {root} ((none)) > create table test.test12(id bigint);
Query OK, 0 rows affected (0.14 sec)

image.png
可以更详细的知道调用哪个文件的哪个函数。这样就可以分析源码了解操作的详细过程了。当然,要分析源码,用gdb跟踪执行过程才能更清晰掌握,光看源码不一定能看懂。

从以上的实践中,我们可以了解dbug包的用法,可以根据trace文件了解mysql内部的一些过程。也可以了解一些相关的机制,碰到棘手或查不到答案的问题也可以看看源码。

参考:https://dev.mysql.com/doc/refman/8.4/en/dbug-package.html

最后修改时间:2024-09-22 22:06:26
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论