文章目录
MySQL的内部组件结构

大体来说,MySQL 可以分为 Server 层和存储引擎层两部分。
Server层
主要包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。
下面我们来看下Server层的连接器、查询缓存、分析器、优化器、执行器分别主要干了哪些事情。
连接器
我们知道由于MySQL是开源的,他有非常多种类的客户端:navicat,mysql front,jdbc,SQLyog等非常丰富的客户端,包括各种编程语言实现的客户端连接程序,这些客户端要向mysql发起通信都必须先跟Server端建立通信连接,而建立连接的工作就是有连接器完成的。
第一步,你会先连接到这个数据库上,这时候接待你的就是连接器。连接器负责跟客户端建立连接、获取权限、维持和管理连接。连接命令一般是这么写的:
[root@192 ~]
本文深入剖析了MySQL的内部组件结构,重点讲解了InnoDB存储引擎层的redo log和binlog日志机制。连接器负责用户连接和权限验证,查询缓存已移除,分析器解析SQL,优化器决定执行计划,执行器执行SQL并管理权限。InnoDB的redo log保证了崩溃一致性,binlog用于数据恢复和主从复制。文章详细探讨了redo log的写入、binlog的格式和写入策略,以及如何利用它们进行数据恢复。
订阅专栏 解锁全文
1171

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



