

新闻资讯
技术学院MySQL采用分层解耦架构,分为连接层(负责认证与会话)、服务层(SQL解析优化执行)、存储引擎层(如InnoDB实现ACID),并通过插件化设计支持可扩展性与高可用。
MySQL 的整体设计围绕“分层解耦、插件化、可扩展”展开,核心是将连接管理、查询处理、存储引擎三者分离,让上层服务与底层数据存储互不影响。
连接层负责处理网络通信、用户认证、线程调度和权限校验。每个客户端连接会创建独立线程(或复用线程池),在连接建立后解析用户名、密码、SSL配置,并比对 mysql.user 表完成鉴权。该层不参与SQL执行逻辑,只做准入控制和会话初始化。
、优化与执行协调这是MySQL最复杂的逻辑层,包含连接上下文维护、查询缓存(8.0已移除)、解析器、预处理器、查询优化器、执行器等模块。SQL语句在此被转换为内部结构(如 Query_block、JOIN),经逻辑重写、索引选择、执行计划生成后,交由存储引擎接口调用。
MySQL 采用可插拔存储引擎架构,Server 层通过统一 handler API 与引擎交互。InnoDB 是默认且唯一支持完整 ACID 和行级锁的引擎,其内部包含缓冲池(Buffer Pool)、事务系统(TRX_SYS)、MVCC 系统(read view + undo log)、Redo/Undo 日志子系统等关键组件。
MySQL 还内置日志系统(error log、slow query log、general log)、复制框架(binlog + 复制线程)、插件体系(authentication、semisync、audit、keyring)等支撑高可用与安全能力。binlog 虽属 Server 层,但由存储引擎协同写入(如 InnoDB 在 prepare 阶段写 redo,commit 阶段写 binlog,两阶段提交保障一致性)。