zoukankan      html  css  js  c++  java
  • MySQL 5.7 源码中的目录结构

    MySQl Server的源码可以直接去Github浏览。
    这里我们选择5.7版本的:https://github.com/mysql/mysql-server/tree/5.7
    也可以通过:

    git clone https://github.com/mysql/mysql-server.git
    

    下载下来。

    源码根目录中主要目录和文件的作用:

    • BUILD:里面包含各个平台,各个编译器下进行编译的脚本;
    • CMakeLists.txt:CMake入口编译文件;
    • client:客户端工具,所有客户端工具都在这里,比如mysql,mysqlbinlog,mysqladmin,mysqldump等;
    • cmake:为CMake编译服务的,这里定义了很多在CMake编译时使用的方法或变量;
    • cmd-line-utils:一些小工具;
    • config.h.cmake:用于生成编译时配置头文件的.cmake文件;
    • dbug:提供一些调试用的宏定义,可以很好地跟踪数据库执行到的执行函数、运行栈桢等信息,可以定位一些问题;
    • extra:包含了用来做网络消息认证的SSL包,并提供了comp_err、resolveip等小工具;
    • include:MySQL代码包含的所有头文件,这里不包括存储引擎的头文件;
    • libbinlogevents:MySQL 5.7 引擎开始新增的、用于解析Binlog的lib服务;
    • libmysql:用来创建嵌入式系统的MySQL客户端API;
    • libmysqld:MySQL服务器的核心级API文件,也用来开发嵌入式系统;
    • mysql-test:mysqld的测试工具;
    • mysys:MySQL自己实现的一些常用的数据结构和算法,比如array,list和hash,以及一些区分不同底层操作系统平台的函数封装,比如my_file,my_fopen等函数,这一类型的函数都以my开头;
    • mysys_ssl:MySQL中SSL相关的服务;
    • plugin:包括一些系统内置的插件,比如auth,password_validation等,同时包含了可动态载入的插件,比如fulltext,semisync等;
    • regex:一些关于正则表达式的算法实现;
    • scripts:包含一些系统工具脚本,比如mysql_install_db,mysqld_safe及mysqld_multi等;
    • sql:MySQL服务器主要代码,这里包含了main函数(main.cc),将会生成mysqld可执行文件;
    • sql-common:存放部分服务器端和客户端都会用到的代码;
    • storage:所有存储引擎的源代码都在这个目录中,文件夹名一般就是其存储引擎的名称,包括innobase,myisam,blackhole,ndb及perfschema等;
    • strings:包含很多字符串处理的函数,比如strmov,strappend及my_atof等函数;
    • support-files:my.cnf示例配置文件及编译所需的一些工具;
    • unittest:单元测试文件目录;
    • vio:虚拟网络IO处理系统,是对不同平台或不同协议的网络通信API的封装;
    • win:在windows平台编译所需的文件和一些说明;
    • zlib:zlib压缩算法库;
    • zifeiy:大晚上的我讲一个笑话给你听,就是没有zifeiy这个文件夹,我多加了一行逗大家乐一下然后就去睡觉了,晚安~
  • 相关阅读:
    Java常考面试题整理(一)
    TLPI读书笔记第29章:线程介绍
    TLPI读书笔记第57章-SOCKET:UNIX DOMAIN
    TLPI读书笔记第23章:定时器与休眠1
    java中线程安全的集合
    在springboot中使用jdbcTemplate
    springboot设置定时任务(转)
    springboot中使用swagger
    springboot中的@RequestMapping和@GetMapping(转)
    springboot在controller中传递参数
  • 原文地址:https://www.cnblogs.com/zifeiy/p/9833813.html
Copyright © 2011-2022 走看看