mysql 源码阅读_mysql 源码阅读入口

mysql源码太多,初次看到不免让人没有头绪,如果根据特定需求,分模块的去阅读分析,查找特定功能如何实现之类的需求,可以从有限的几个入口看起,有两个主要入口:服务器启动,客户端请求处理。市面上的书大部分都是通过客户端请求处理来讲起如何阅读mysql源码,举的例子通过select 查询,如《深入理解mysql核心技术》以及《深入理解mysql》两本书。

1 服务器初始化启动过程,包含参数以及参数文件的处理,服务器线程初始化等等,都是从sql目录下的mysqld.cc里面的mysqld_main函数开始的。

注释清晰,可以从这里挑选感兴趣的服务器初始化部分跳转到相应代码处学习。

2 客户端请求处理,mysql是相对比较复杂的,首先要确定好学习哪个部分,是mysql的网络协议还是具体命令行的执行代码。

网络协议部分,mysql客户端与服务端交互可从sql目录的net_serv.cc看起,里面包含了mysql服务器对网络通信的基本封装。

mysql命令的具体执行,客户端请求会被mysqld.cc的do_handle_one_connection函数捕获,然后创建线程来处理发送过来的命令,

处理函数是sql_parse.cc里面的do_command函数,do_command函数处理后,调用该文件的dispatch_command函数处理请求。

dispatch_command函数是所有客户端命令处理的集散地,对所有命令的代码实现,都可以通过这里入手。

https://my.oschina.net/llzx373/blog/211681

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值