iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL源代码目录有哪些
  • 589
分享到

MySQL源代码目录有哪些

2024-04-02 19:04:59 589人浏览 泡泡鱼
摘要

这篇文章主要介绍了Mysql源代码目录有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、源代码目录介绍: 1、BUILD 

这篇文章主要介绍了Mysql源代码目录有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、源代码目录介绍:

1、BUILD
    BUILD目录是编译、安装脚本目录,绝大部分以compile-开头,其中的SETUP.sh脚本为C和c++编译器设置了优化选项。
2、client
    client目录包括常用命令和客户端工具代码,这些源代码文件中包括密码确认功能get_passWord.c、SSL连接可行性检查、mysql客户端mysql.cc、mysqladmin工具和mysqladmin用于服务器的运作mysqladmin.c、显示数据库及其表和列的mysqlshow.c等。
3、storage
    MySQL的各类存储引擎代码都在该目录中,包括CVS存储引擎(cvs目录)、InnoDB存储引擎、Federate等。存储引擎是数据库系统的核心,封装了数据库文件的操作,是数据库系统是否强大最重要的因素。Mysql实现了一个抽象接口层,叫做 handler(sql/handler.h),其中定义了接口函数,比如:ha_open, ha_index_end, ha_create等等,存储引擎需要实现这些接口才能被系统使用。这个接口定义超级复杂,有900多行 :-(,不过我们暂时知道它是干什么的就好了,没必要深究每行代码。对于具体每种引擎的特点,我推荐大家去看mysql的在线文档: Http://dev.mysql.com/doc/refman/5.1/en/storage-engines.html   

应该能看到如下的目录:  
* innobase, innodb的目录,当前最流行的存储引擎  
* myisam, 最早的Mysql存储引擎,一直到innodb出现以前,使用最广的引擎
* heap, 基于内存的存储引擎  
* federated, 一个比较新的存储引擎  
* example, csv,这几个大家可以作为自己写存储引擎时的参考实现,比较容易读懂


4、mysys
    mysys代表MySQL system library,是MySQL的库函数文件。库函数是一些预先编译好的函数的集合,这些函数都是按照可再使用的原则编写的。它们通常由一组互相关联的用来完成某项常见的工作的函数构成,从本质上来说库是一种可执行的二进制形式,可以被操作系统载入内存执行。在mysys目录中,共有125个.c文件,且随着版本的演化和新功能的加入,库函数也在不断的增大。
    其中包括用于快速排序的mf_qsort.c、用于临时文件管理的mf_tempfile.c、定义在客户端编译时采用字符集类型的charset-def.c、字符集相关操作(字符集加载、初始化等)的charset.c。
    mysys是一个大杂烩,包含了各种各样的功能库文件,包括文件打开、数据读写、内存分配、OS/2系统特别优化、线程控制、权限控制、RaidTable、动态字符串处理、队列算法网络传输协议、初始化函数、错误处理、平衡二叉树算法、符号连接处理、唯一临时文件名生成、hash函数、排序算法、压缩传输协议等。


5、sql
    sql目录出了包含mysqld.cc这一MySQL main函数(没错,这里就是数据库主程序mysqld所在的地方,大部分的系统流程都发生在这里。)所在的文件外,还包括了各类SQL语句的解析/实现、线程、查询解析与查询优化器、存储引擎接口(你还能看到sql_insert.cc, sql_update.cc, sql_select.cc,等等,分别实现了对应的SQL命令。后面我们还要经常提到这个目录下的文件)。在storage下各存储引擎目录中,存在的是各类存储引擎的实现代码,而在sql/目录下存放的是处理接口handler。handler类中存在很多虚函数,需要其子类进行实现
    如今在MySQL 5.1中,综合文件hadler.cc和handler.h处理了所有不同种类存储请求。各种SQL语句的执行代码也可以在sql目录中找到,这类文件常以sql开始对文件命名。MySQL将UNION和ROLLUP等操作看作内部函数。

大概有如下及部分:  
SQL解析器代码: sql_lex.cc, sql_yacc.yy, sql_yacc.cc, sql_parse.cc等,实现了对SQL语句的解析操作。  
"handler"代码: handle.cc, handler.h,定义了存储引擎的接口。  
"item"代码:item_func.cc, item_create.cc,定义了SQL解析后的各个部分。  
SQL语句执行代码: sql_update.cc, sql_insert.cc sql_select.cc, sql_show.cc, sql_load.cc,执行SQL对应的语句。当你要看"SELECT ..."的执行的时候,直接到sql_select.cc去看就OK了。  
辅助代码: net_serv.cc实现网络操作  
还有其他很多代码。


6、vio
    VIO意指Virtual I/O,主要用来处理各种网络协议的IO。Virtual I/O使得各种模块的网络协议能够无缝的调用I/O功能。MySQL网络子系统将调用这里的方法。
7、regex
    regex为MySQL提供执行正则匹配函数REGEXP时的支持。
8、dbug
    使用with-debug参数编译的MySQL会显示dbug输出,代码中的所有.c和.cc文件均可调用这个库。

2、安装目录介绍:

On windows, the default installation directory is C:\mysql, which has the following subdirectories:

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

Docs

Documentation

examples

Example programs and scripts

include

Include (header) files

lib

Libraries

scripts

Utility scripts

share

Error message files

Installations created from linux RPM distributions result in files under the following system directories:

Directory

Contents of Directory

/usr/bin

Client programs and scripts

/usr/sbin

The mysqld server

/var/lib/mysql

Log files, databases

/usr/share/doc/packages

Documentation

include/usr/include/mysql

Include (header) files

lib/usr/lib/mysql

Libraries

/usr/share/mysql

Error message and character set files

sql-bench/usr/share/sql-bench

Benchmarks

On Unix, a tar file binary distribution is installed by unpacking it at the installation location you choose (typically/usr/local/mysql) and creates the following directories in that location:

Directory

Contents of Directory

bin

Client programs and the mysqld server

data

Log files, databases

docs

Documentation, ChangeLog

include

Include (header) files

lib

Libraries

scripts

mysql_install_db

share/mysql

Error message files

sql-bench

Benchmarks

A source distribution is installed after you configure and compile it. By default, the installation step installs files under /usr/local, in the following subdirectories:

Directory

Contents of Directory

bin

Client programs and scripts

include/mysql

Include (header) files

info

Documentation in Info fORMat

lib/mysql

Libraries

libexec

The mysqld server

share/mysql

Error message files

sql-bench

Benchmarks and crash-me test

var

Databases and log files

感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL源代码目录有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL源代码目录有哪些

本文链接: https://www.lsjlt.com/news/62520.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL源代码目录有哪些
    这篇文章主要介绍了MySQL源代码目录有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、源代码目录介绍: 1、BUILD ...
    99+
    2024-04-02
  • jspXCMS源代码目录结构有哪些内容
    这篇文章主要介绍了jspXCMS源代码目录结构有哪些内容的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇jspXCMS源代码目录结构有哪些内容文章都会有所收获,下面我们一起来看看吧。webapp目录jsp jsp...
    99+
    2023-06-26
  • Jspxcms4.0文件及源码目录有哪些
    这篇文章主要介绍了Jspxcms4.0文件及源码目录有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Jspxcms4.0文件及源码目录有哪些文章都会有所收获,下面我们一起来看看吧。文件结构说明/back (...
    99+
    2023-06-26
  • MySQL中的目录有哪些
    这篇文章主要讲解了“MySQL中的目录有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL中的目录有哪些”吧!  MySQL安装完成后,会在磁盘上生成一个目录,该目录被称为MySQ...
    99+
    2023-06-02
  • MySQL目录结构与源码
    MySQL目录结构与源码 前言一、主要目录结构二、MySQL 源代码获取 前言 本博主将用CSDN记录软件开发求学之路上亲身所得与所学的心得与知识,有兴趣的小伙伴可以关注博主!也许一个...
    99+
    2023-09-04
    mysql 数据库
  • MySQL的数据目录有哪些
    本文小编为大家详细介绍“MySQL的数据目录有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL的数据目录有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。 ...
    99+
    2023-02-03
    mysql
  • MySQl数据库目录有哪些
    本篇文章为大家展示了MySQl数据库目录有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、可使用 mysqladmin 变量直接从服务器中得到数据目录路径名。...
    99+
    2024-04-02
  • 常用的Flex源代码有哪些
    这篇文章主要介绍常用的Flex源代码有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!12条常用的Flex源代码1.复制内容到系统剪贴板Java代码System.setClipboard(strContent);&...
    99+
    2023-06-17
  • MySQL出错代码有哪些
    这篇文章将为大家详细讲解有关MySQL出错代码有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 MySQL出错代码列表(转)[@more...
    99+
    2024-04-02
  • MYSQL有哪些出错代码
    这篇文章主要介绍MYSQL有哪些出错代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MYSQL出错代码列表1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数...
    99+
    2024-04-02
  • 有哪些MySQL源码系列问题
    本篇内容介绍了“有哪些MySQL源码系列问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、trigge...
    99+
    2024-04-02
  • Python源代码编制技巧有哪些
    本篇内容介绍了“Python源代码编制技巧有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PyDev 就能显示出一个超链接,这样您可以在...
    99+
    2023-06-17
  • Flex开源项目有哪些
    这篇文章主要为大家展示了“Flex开源项目有哪些”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Flex开源项目有哪些”这篇文章吧。1.Flex开源项目Cairngorm介绍:简单来说,就是为方便...
    99+
    2023-06-17
  • Python开源项目有哪些
    本篇内容介绍了“Python开源项目有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. fastapihttps://github.c...
    99+
    2023-06-16
  • MySQL常见错误代码有哪些
    本篇内容介绍了“MySQL常见错误代码有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先给大家看几个实...
    99+
    2024-04-02
  • C++源代码相关编制方法有哪些
    本篇内容主要讲解“C++源代码相关编制方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++源代码相关编制方法有哪些”吧!1.多态性的概念 多态性是指用一个名字定义不同的函数,这函数执行...
    99+
    2023-06-17
  • HTML颜色代码的学习资源有哪些?
    颜色是网页设计中非常重要的元素,它可以用来传达信息、营造氛围、吸引注意力等。在HTML中,颜色是用颜色代码指定的,颜色代码有两种表示方式: 十六进制颜色代码:由六位十六进制数字组成,表示红色、绿色和蓝色的值。例如,红色可以用十六进制颜...
    99+
    2024-02-14
    HTML颜色代码 资源 在线工具 书籍 教程
  • Maven中怎么指定项目构建的源代码目录
    在Maven中,可以通过在pom.xml文件中配置maven-compiler-plugin插件来指定项目构建的源代码目录。 <...
    99+
    2024-04-09
    Maven
  • springBoot项目常用目录有哪些
    本篇文章和大家了解一下springBoot项目常用目录有哪些。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。springBoot项目常用目录springBoot项目的目录结构及名规范介绍基于SpringBoot开发时的目录...
    99+
    2023-07-06
  • MySQL bin目录中的重要文件有哪些?
    MySQL 是一种流行的关系型数据库管理系统,被广泛用于各种 Web 应用程序和数据存储系统中。在 MySQL 中,bin 目录是非常重要的,其中包含了一些关键的文件,本文将介绍 My...
    99+
    2024-03-01
    配置文件 日志文件 数据文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作