以下特指WINDOW平台下MYSQL源码。
要使用mysql数据库来作为我们的数据管理工具,我们首先要安装mysql或下载一个压缩包解压。但不管是那一种方式,都需要启动mysqld服务,使用过mysql的都知道。(在mysql的bin目录下有一个文件mysqld.exe文件.)mysql服务器启动后我们才能够连接到数据库进行数据的增删插改等查找。
今天对mysqld的源码进行了了解,其主要就是实现了创建和安装window服务,并开启业务处理线程。
先看看mysqld工程下的目录文件。nt_servc.h头文件,封装了Windows服务创建、安装、启动等操作。main.cc包含了一个main函数,调用mysqld_main函数。
两个.rc文件,一个定义版本号另一个应该是定义提示信息的吧。对该文件未进行了解。net_servc.h,nt_servc.h的实现文件。
另一个重要文件就是mysqld.cc.由于入口函数main一开始就调用了改文件中的mysqld_main函数,因此该函数相当于mysql服务启动的入口。
下面本人是本人针对从源码中学到的知识进行记录。
/*
When several instances are running on the same machine, we
need to have an unique named hEventShudown through the
application PID e.g.: MySQLShutdown1890; MySQLShutdown2342
此处是指在同一台机器上运行几个mysql实例的时候,怎么分辨它们,
就是通过各个实例的进程号进行分辨。函数如下:
*/
int10_to_str((int) GetCurrentProces