
对于MySQL来说,虽然经历了多个版本迭代,并且也存在不同的分支。但是MySQL数据库的基础架构基本都是一致的。下图展示了MySQL的体系架构。

视频讲解如下:
MySQL的Server层主要有以下7个组件:MySQL向外提供的交互接口(Connectors)、连接池组件(Connection Pool)、管理服务组件和工具组件(Management Service & Utilities)、SQL接口组件(SQL Interface)、查询分析器组件(Parser)、优化器组件(Optimizer)和缓存主件(Query Caches & Buffers)。
下面分别介绍这7个组件的作用。

# 执行下面的语句:
mysql> show variables like '%query_cache%';
# 输出的信息如下:
+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | NO |
+------------------+-------+
# 如果在MySQL 8以前的版本中,输出的信息如下:
+------------------------------+---------+
| Variable_name | Value |
+------------------------------+---------+
| have_query_cache | YES |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
+------------------------------+---------+ MySQL的存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
通过“show create table”可以看出创建表时使用的存储引擎。例如下图中的test1表使用的就是InnoDB的存储引擎。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。