服务器初始化模块
服务器初始化模块负责在启动时完成服务器初始化,大部分代码可在文件sql/mysqld.cc中找到
连接管理器
连接管理器侦听来自用户的链接,随后将请求提交给线程管理器
线程管理器
主要负责为用户创建,分配,维护,追踪线程,以处理来子客户端的链接
用户验证模块
主要负责对连接的用户进行认证,并对包含该用户权限信息的结构和变量进行初始化
命令分发模块
判断用户请求的命令类型,根据不同的命令类型,将命令分发给不同的解析器
缓存管理模块
当用户请求并被执行后,返回的结果会保留在高速缓存中,以便用户再次执行相同请求时,更快的做出响应
查询解析器
负责解析查询,判断可执行性,生成解析树(很多条路径可以获得数据)
查询优化器
负责选择最优路径,并执行该策略
表管理器
负责创建,读取,修改表定义文件,以及管理表锁
表修改模块
负责创建,删除,重命名,移除,更行或插入表等操