🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 1.0 MySQL 架构组成 ## 1.1 逻辑架构 ![图片描述](http://img.mukewang.com/wiki/5e9d6f0209d5893606700244.jpg) 上方是 MySQL 逻辑架构的简单示意图,总的来说,MySQL 包含 Server 层和存储引擎层两大部分。 Server 层包括连接池、查询缓存、解析器、优化器、执行器等,MySQL 的核心服务都在这一层。 存储引擎层负责数据的存储和提取,MySQL 采用插件式的存储引擎,常见的存储引擎有 InnoDB、MyISAM、 CSV 等。其中 InnoDB 是最常用的存储引擎,也是 MySQL 的默认存储引擎(从5.5.5版本开始)。 ### 1.1.1 连接池 首先,我们通过 mysql 这个客户端工具进行数据库的连接,这时遇到的是连接池。连接池负责客户端的连接管理、授权认证。 连接命令如下(输入完连接命令后,需要输入用户密码): ```bash mysql -h localhost -u root -p ``` - 如果用户名和密码认证通过,连接池会通过权限表获取这个用户名所拥有的权限信息; - 如果用户名或密码认证不通过,则会收到一个错误提示:“ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’”; ### 1.1.2 查询缓存 连接成功建立后,来到第二步查询缓存。查询缓存负责将执行过的语句和结果缓存在内存中。 ### 1.1.3 解析器 如果没有命中查询缓存,接下来就要进入解析器阶段了。解析器负责词法解析和语法解析。 ### 1.1.4 优化器 从解析器出来,就到了优化器阶段。优化器负责找到最优的执行计划,也就是决定SQL语句的执行方案。 ### 1.1.5 执行器 执行器负责调用存储引擎,拿到查询结果。 ## 1.2 日志文件和数据文件 ## 1.3 一条更新语句如何执行 ## 1.1 连接管理与安全性 客户端连接服务端,认证 ## 1.2 优化与执行 查询缓存 # 2.0 MySQL 存储引擎 ## 2.1 MyISAM 存储引擎 ## 2.2 InnoDB 存储引擎 ## 2.3 其他存储引擎 # 3.0 MySQL索引 ## 3.1 索引解读 ## 3.2 B+tree # 4.0 MySQL 锁 佛挡杀佛 # 5.0 MySQL 事务 # 6.0 备份与恢复 # 7.0 主从复制 [^万物联网管理平台]: 这是详细的买书