标签:连接 查询 数据 允许 权限认证 包含 优化器 nbsp img
mysql的逻辑架构
第一层:进行连接处理、权限认证、安全校验等。
当客户端(应用)连接到mysql服务器时,服务器会创建使用一个线程进行处理连接(少量的线程服务大量的连接),随后服务器需要对该连接进行认证,认证就是基于用户名、原始主机信息和密码。如果使用了安全套接字(ssl)的方式连接,还可以使用证书认证。一旦客户端连接成功,服务器会继续验证该客户端是否具有执行某个特定查询的权限(例如,是否允许客户端对p2p数据库的user表进行update 操作)
第二层:核心服务功能都在这层,包括查询解析、分析、优化、缓存以及所有内置函数(例如:日期时间、数学和加密等),所有跨存储引擎的功能都在这层实现:存储过程、触发器、视图等。
Mysql会解析查询并创建内部数据结构(解析树),然后对其进行各种优化,包括重写查询、决定表的读取顺序,以及选择合适的索引等。用户可以使用优化器解析了解优化过程,进行相关配置和操作,使执行更有效率。
第三层:存储引擎。
存储引擎负责mysql数据的存储与提取。MySQL定义了一系列抽象存储引擎API,服务器通过API与存储引擎进行通信,API由存储引擎实现,这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对不同存储引擎之间是透明的。存储引擎API包含几十个底层函数,用于执行诸如开启一个事务、或者根据主键提取一行数据等的操作。存储引擎不会解析sql
标签:连接 查询 数据 允许 权限认证 包含 优化器 nbsp img
原文地址:https://www.cnblogs.com/pianzhi/p/11371715.html