connect-database-workbench-1

MySQL在整体架构上,总共四层:

第一层:连接/线程处理层。主要用来处理客户端的请求、用户身份验证、数据安全性校验等。它并不是MySQL独有的,大多数基于网络的客户端/服务器的工具或者服务都有类似的架构。

第二层:查询解析层。这一层包含了MySQL大多数的核心服务。包括:查询解析、分析、优化、缓存以及所有的内置函数(例如:日期、时间、数学和加密函数)。同时,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等。

第三层:存储引擎层。存储引擎负责MySQL中数据的存储和提取。服务器通过API和存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明化。但存储引擎一般不会去解析SQL(InnoDB会解析外键定义,因为数据库本身没有实现该功能),不同存储引擎之间也不会相互通信,而只是简单的响应上层的服务器请求。

第四层:文件层。包括MySQL的日志文件、数据文件、其他文件等。

文件数据文件示例
日志文件二进制日志文件:Binary Log
查询日志:Query Log
慢查询日志:Slow Query Log
错误日志:Error Log
InnoDB存储引擎在线Redo日志:InnoDB redo Log
数据文件.frm文件:存放与表相关的数据信息,主要包括表结构的定义信息
.MYD文件:MyISAM存储引擎的数据文件
.MYI文件:MyISAM存储引擎的索引文件
.ibd文件:InnoDB存储引擎的数据文件
.csv文件:CSV存储引擎的数据文件
.ARZ文件:Archive存储引擎的数据文件
其他文件系统配置文件
pid文件
sockey文件
picture loss