(二)源码分析之一:mysqld的启动流程

1,  进入 D:\mariadb-10.0.13\bld目录下,双击MySQL.sln文件,在visualstudio 2013中打开它。在“解决方案管理器”中,单击“mysqld”左侧的三角形,将其展开,再单击Source Files左侧三角形,展开源文件,可以看到一个名称为main.cc文件,它是mysqld数据库服务器的启动入口,双击打开,即看到main()入口函数。mysqld数据库服务器就是从这里开始启动的。


2,移动光标到“int main(intargc, char **argv)”代码行,而后单击键盘上F9键,下一个断点,然后单击工具栏中的“本地Windows调试器”,以调试模式启动mysqld数据库服务器。当调试到所设断点处程序立刻停下来,接下来就可以反复按F11键,逐语句调试代码,了解mysqld数据库服务器的整个启动过程了。注意,在跟踪代码过程中,有些函数过程不需要了解,此时可以按F10键跳过一个函数过程,如果已经处于某个函数过程中,又不想继续下去,可以按Shift+F11键,跳出当前所在的函数过程。

3,mysqld的启动过程比较复杂,了解启动流程时,许多细节可以先忽略掉,抓住其主要流程即可。mysqld数据库服务器的主要启动流程如下所示:



在客户端与服务器通信时,mysqld支持三种方式,分别为:命名管道、套接字、共享内存,启动服务器时可以分别使用相应参数打开(mysqld  --enable-named-pipe、mysqld.exe  --shared-memory)。套接字方式是网络中使用最多的一种方式,mysqld默认使用此种方式与客户端进行通信。在handle_connections_methods()中可以看到有关代码,当采用套接字通信时,将会调用handle_connections_sockets()进行处理。我们只分析使用套接字进行通信的方式。

到这里,mysqld服务器就启动完成了。在接下来的分析中,我们将打开客户端,通过输入相应的命令,进一步分析mysqld服务是如何处理客户端发来的请求的。

今天就到这儿吧!祝各位中秋快乐!

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值