mysql源码笔记【总体架构概览】

87 阅读1分钟

mysql宏观上可分为这么几部分:client、server、Storage(存储引擎)、log

image.png

此图从juejin.cn/post/695060… (虽然在网上也是公开的,文章其他部分也可以参考)

其他核心要点:mysql采用“ 单进程多线程 ”架构!

一个SQL语句在mysql内部是怎么流转的?

image.png

Client层

业务应用、命令行、数据库ide 等等

Server层

把跨引擎的逻辑放在这一层,比如系统内置函数、触发器、SQL语句、视图、binlog

Storage层

1.负责数据的存储与提取,通过api去和buffer、数据文件交互。 2.undo log、redo log、锁、事务 等核心功能的实现 (没有按照架构图中的分类来 为了自己方便理解)

Log层 日志“有助排查”的日志