基础架构
Mysql基础架构图[1]
mysql主要分为 Service层 和 存储引擎
一. Service层
包含MySQL的大部分功能; 请求进入后, 到数据提取前的所有操作; 包含连接器,查询缓存,分析器,优化器,执行器,还有所有的内置函数(日期,时间,数学和加密函数),所有跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等
1. 连接器
客户端 和 服务端 使用tcp 协议进行连接
即MySQL的登录模块, 登录成功后, 进行用户的权限校验;
登录时, 即使修改权限, 也需要重新登录后才能生效
2. 查询缓存
MySQL8.x 删除缓存模块, 使用Redis等进行替换
3. 分析器
客户请求进来的sql语句, 交给Service层的分析器进行词法分析和语法分析;
如果分析过程中出现异常, 则会抛出异常信息; 未出现异常, 则会生成抽象语法树(AST).