下面简单说说这些目录中比较重要的文件夹:
Build:
该目录包含了各个平台,各种编译器下进行编译的脚本。
Cmakelist:
cmake编译的入口文件
client:
客户端工具,所有的客户端工具都在这里,包括mysql、mysqladmin、mysqlbinlog、mysqldump等等。
cmake:
为cmake编译服务,定义了很多在cmake编译时使用的方法和变量。
cmd-line-utils
一些常用的小工具
dbug:
提供一些调试用的宏定义,可以很好的跟踪数据库执行到的函数,可以用于辅助定位一些问题。
extra:
包含了用来做网络消息认证的SSL包,并提供了comp_err等一些小工具
include:
mysql代码包含的所有头文件,但是不包括存储引擎的头文件
libbinlogevents:
用于解析binlog的一些lib服务,5.7版本新增
libmysql:
用来创建嵌入式系统的mysql客户端程序API
libmysqld:
MySQL服务器的核心级API文件,也用来开发嵌入式系统。
mysql-test:
mysqld的测试小工具
mysys:
mysql自己实现的一些常用数据结构和算法。比如array,list和hash等,以及一些区分不同底层操作系统平台的函数封装,例如my_file等函数
mysys_ssl:
mysql中SSL相关的服务
plugin:
包括一些系统内置的插件以及一些可以动态载入的插件
regex:
一些关于正则表达式的算法实现
scripts:
包含一些系统工具脚本,比如mysql_installed_db、mysqld_safe等
sql:
mysql服务器的主要代码,包含了main函数,会生成mysqld可执行文件
sql_common:
存放部分服务器端和客户端都会用到的一些代码
storage:
所有存储引擎的源代码都在这个目录中。其中文件夹的名字就对应相关的存储引擎
strings:
包含了很多关于字符串处理的函数
support-files:
mysql的示例配置文件my.cnf以及编译所需的一些工具
unittest:
单元测试文件
vio:
虚拟网络IO处理系统,是对不同协议或者不同平台的网络通信API的封装
win:
在windows环境编译的一些文件和说明
zlib:
zlib压缩算法库