一、MySQL逻辑架构

1、MySQL逻辑架构整体分为三层,最上层为客户端层,并非MySQL所独有,诸如:连接处理、授权认证、安全等功能均在这一层处理。
2、MySQL大多数核心服务均在中间这一层,包括查询解析、分析、优化、缓存、内置函数(比如:时间、数学、加密等函数)。所有的跨存储引擎的功能也在这一层实现:存储过程、触发器、视图等。
3、最下层为存储引擎,其负责MySQL中的数据存储和提取。和Linux下的文件系统类似,每种存储引擎都有其优势和劣势。中间的服务层通过API与存储引擎通信,这些API接口屏蔽了不同存储引擎间的差异。不同引擎只会简单的响应上层服务器的请求,而不会相互通信。
二、连接和安全性
1、对于每个客户端连接,服务器都会在进程中新建一个线程处理(如果是线程池的话,则是分配一个空的线程),这个连接的查询只会在这个单独的线程中执行(每个线程相互独立),该线程只能轮流在某个CPU核心(多核CPU)或者CPU中运行。服务器会负责缓存线程,因此不需要为每个新建的连接创建或者销毁线程(线程的重用和销毁都由服务器控制)。
2、当客户端连接到MySQL服务器时,服务器需要对其进行认证,如基于用户名、原始主机信息和密码;一旦连接成功,服务器会继续验证客户端是否具有执行某个特定查询的权限。
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



