mysql宏观上可分为这么几部分:client、server、Storage(存储引擎)、log
此图从juejin.cn/post/695060… (虽然在网上也是公开的,文章其他部分也可以参考)
其他核心要点:mysql采用“ 单进程多线程 ”架构!
一个SQL语句在mysql内部是怎么流转的?
Client层
业务应用、命令行、数据库ide 等等
Server层
把跨引擎的逻辑放在这一层,比如系统内置函数、触发器、SQL语句、视图、binlog
Storage层
1.负责数据的存储与提取,通过api去和buffer、数据文件交互。 2.undo log、redo log、锁、事务 等核心功能的实现 (没有按照架构图中的分类来 为了自己方便理解)
Log层 日志“有助排查”的日志