首页 > 数据库 > MySQL > 正文

MySql的基本知识储备1

2024-07-24 12:59:34
字体:
来源:转载
供稿:网友

1、MySQL配置文件

MySQL的配置文件为my.ini,一般默认保存在安装时指定的Data Path目录下。在MySQL的安装目录有一个my-default.ini文件里面存放的是一些默认参考配置信息,而数据库真正使用的是my.ini文件。因此,修改my.ini中的内容就可以达到更改配置的目的。

2、MySQL文件结构

  2.1 数据结构

1> “.frm”文件

一般与表相关的元数据信息都存放在“.frm”文件中,包括表结构的定义信息等。

2>“.MYD”文件

是MyISAM存储引擎专用,存放MyISAM表的数据。

3>“.MYI”文件

也是MyISAM存储引擎的,主要存放MyISAM表的索引相关信息。

4>“.ibd”和ibdata文件

都是存放InnoDB数据的文件。因为InnoDB的数据的数据存储方式能够通过配置来决定使用共享表空间存放存储数据,还是独享表空间存放存储数据。

独享表空间存储方式使用“.ibd”文件来存放数据,每个表一个“.ibd”。

ibdata文件通过innidb_data_home_dir和innodb_data_file_path两个参数共同配置组成。前者是配置数据存放的总目录,后者是配置每一个文件的名称。

 2.2 日志文件

日志文件主要包括错误日志、二进制日志、更新日志、查询日志、慢查询日志和InnoDB的在线redo日志。这里不多简绍。

3、系统架构

MySQL架构主要包括两个部分 SQL Layer层、Storage Engine Layer层。  SQL Layer中包含对个子模块,分别如下:     1> 初始化模块就是在MySQL服务器启动的时候,对真个系统做出各种各样的初始化操作。     2> 核心API只要是为了提供一些需要非常搞笑的底层操作功能的优化实现,包括底层数据结构的实现、特殊算法的实现、字符串处理等     3> 网络交互模块作用是抽象出底层网络交互所使用的接口API,实现底层网络数据的接受和发送。     4> Client和Server交互协议模块实现信息交互     5> 用户模块主要包括用户的登录连接权限控制和用户的授权管理,类似于看门狗的作用     6> 访问控制模块功能就是根据用户模块中个用户的授权信息,以及数据库自身特定的各种约束,来控制用户对数据的访问。     7> 连接管理、连接线程和线程管理   连接管理模块负责监听对MySQL服务器的各种请求,接受连接请求,转发所有连接请求到线程管理模块连接线程的主要工作就是负责MySQL服务器与客户端的通信,接受客户端的命令请求,传递Server端的结果信息线程管理模块负责管理这些连接线程的创建,缓存等。     8> Query解析和转发模块就是将接受的数据进行分类传递给各个对应的处理模块      9> Query Cache模块这是非常重要的模块,主要功能是将客户端提交给MySql的select类query请求的返回结果集缓存到内存中,与该query的一个hash做一个对应。     10>  Query优化器模块就是客户端请求优化的query,根据客户端的query于江湖和数据库中的一些统计信息,得出一个最有的策略。     11> 表变更管理模块主要负责完成一些DML和一些DDL的query      12> 表维护模块表的状态检查,错误修复,以及优化和分析等工作都是表维护模块所需要做的事情      13>系统状态管理模块      14> 表管理器      15> 日志记录模块负责整个系统级别的逻辑层的日志的记录      16> 复制模块        17> 存储引擎接口模块这个模块只是一个抽象类,但完成了各种数据处理高度抽象化
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表