专栏首页DBA随笔MySQL源码目录

MySQL源码目录

MySQL源码目录 今天一天没怎么干正事儿,就简单聊聊mysql源码目录中每个文件夹里面的内容吧,因为回家比较早,所以就在笔记本的window平台下截了一张mysql源码的目录图,如下:

下面简单说说这些目录中比较重要的文件夹:

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压缩算法库

本文分享自微信公众号 - DBA随笔(gh_acc2bbc0d447),作者:AsiaYe

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-05-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Centos安装MySQL5.7.22文档

    此时发现错误,无法创建lockfile,原因是在/var/lib目录下没有mysql文件夹,错误如下:

    AsiaYe
  • reset master、reset slave与reset slave all

    reset master、reset slave与reset slave all 今天测一测这几个参数,首先说下测试环境:

    AsiaYe
  • MySQL5.5版本部署的一个问题

    目前公司部署MySQL是通过平台化操作的,周五的时候,平台暂时出了点儿问题,手上有个需求比较着急,就直接手动的部署了一下,由于好长时间没有部署环境了,...

    AsiaYe
  • mysql 配置总结( linux & macos ) 【原创】

    mysql 配置总结 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com/c...

    CS逍遥剑仙
  • Mysql数据库的详细安装步骤

    一、下载 1. 进入mysql官网,登陆自己的Oracle账号(没有账号的自己注册一个),下载Mysql,下载地址:http://dev.mysql.com/d...

    企鹅号小编
  • CentOS安装mysql

    第二步,进入/usr/local/soft/目录,在里面执行wget 下载链接命令,或者是先下载到windows然后通过xftp上传到CentOS的该目录下,然...

    编程思录
  • mysql5.7.24 安装手册

    将 mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 通过sftp上传到 /tmp 目录下

    cosmozhu
  • 艾编程基础教程:Linux环境下MySQL安装

    mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz (300MB+)

    艾编程
  • Linux环境下Mysql开启远程访问权限

    如何通过Window的数据库可视化工具远程连接装在Linux上的Mysql呢?可以按照以下步骤逐一确认!

    小菠萝测试笔记
  • # 示例环境

    ​ 想必很多新手都避免不了有这些疑问,都想一次性投入精力解决以上问题,下面我用我理解的方式帮助你解决这些疑问。

    用户1175783

扫码关注云+社区

领取腾讯云代金券