摘要
mysql 源码结构宏大,我自己主要学习方法准备从几个方面展开:
1,mysql 8.0.18 internal官方手册
2, mysql大牛blog
3, baidu经典好文章
4, 各种媒介请教技术大牛
通过不同维度实践,力争初步掌握mysql 8.0.18源码,最终提升增强自己分析诊断mysql机制及原理的能力
复制
联系方式
微信公众号
微信
培训课件
(收费20元已共享到百度云盘便于同学们获取)
相关阅读
升级redhat 6.8 默认gdb 7.2到gdb 8.3.1操作指南
http://blog.itpub.net/9240380/viewspace-2666802/
复制
目录
调试操作环境
gdb跟踪mysql 8.0.18源码
mysql 8.0.18源码主要目录结构
sql_parse.cc及sql_parse.h
sql_class.cc及sql_class.h
调试操作环境
redhat 6.8
gdb-8.3.1
mysql 8.0.18
复制
gdb跟踪mysql 8.0.18源码
gdb跟踪mysqld
[root@mysql8018 ~]# pidof mysqld
17227
[root@mysql8018 ~]# usr/local/gdb-8.3.1/bin/gdb -p 17227
复制
产生一个新登陆线程会话
[root@mysql8018 sql]# usr/local/mysql/bin/mysql -uroot -psystem
复制
gdb打上断点
(gdb) b mysql_execute_command
Breakpoint 1 at 0x35bf14e: file mysql8018_dir/mysql-8.0.18/sql/sql_parse.cc, line 2625.
复制
新登陆线程会话执行sql
mysql> select count(*) from mysql.user;
复制
gdb继续执行
(gdb) c
复制
gdb显示执行sql
(gdb) p thd->m_query_string
$1 = {str = 0x7fdb28004b28 "select * from mysql.user", length = 24}
复制
mysql 8.0.18源码主要目录结构
sql_parse.cc及sql_parse.h
sql_parse.cc是一个极重要的文件,里面处理逻辑关于sql解析相关的代码。
sql_parse.h可以理解为c++虚类或抽象类
sql_parse.cc是基基于sql_parse.h抽象类型的具体实现
2个文件在sys目录
复制
源码中每个函数前会有注解,注解极重要,描述函数的含义及处理逻辑
sql_class.cc及sql_class.h
上述mysql_execute_command函数输入参数*thd的类型是THD,THD是mysql核心类,它分布在2个源码文件sql_class.h和sql_class.cc
可以通过ul工具或eclipse或vscode IDE调测mysql源码,主要侧重查看方法或函数之间的依赖及引用,否则
不要太过专于细心,否则会陷入源码。碰到具体问题,再用gdb精研分析源码,定位mysql问题。
复制
文章转载自lovedb,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【专家有话说第五期】在不同年龄段,DBA应该怎样规划自己的职业发展?
墨天轮编辑部
1378次阅读
2025-03-13 11:40:53
MySQL8.0统计信息总结
闫建(Rock Yan)
523次阅读
2025-03-17 16:04:03
2月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
481次阅读
2025-03-13 14:38:19
SQL优化 - explain查看SQL执行计划(一)
金同学
414次阅读
2025-03-13 16:04:22
MySQL突然崩溃?教你用gdb解剖core文件,快速锁定“元凶”!
szrsu
390次阅读
2025-03-13 00:29:43
MySQL生产实战优化(利用Index skip scan优化性能提升257倍)
chengang
344次阅读
2025-03-17 10:36:40
MySQL数据库当前和历史事务分析
听见风的声音
331次阅读
2025-04-01 08:47:17
MySQL 生产实践-Update 二级索引导致的性能问题排查
chengang
295次阅读
2025-03-28 16:28:31
墨天轮个人数说知识点合集
JiekeXu
280次阅读
2025-04-01 15:56:03
一键装库脚本3分钟极速部署,传统耗时砍掉95%!
IT邦德
271次阅读
2025-03-10 07:58:44