# MySQL体系结构

> 来源：梦飞idc云平台 | 原文：https://www.mfisp.com/15602.html | 发布：2023-01-11 | 更新：2023-01-11 | 分类：建站教程、投稿分享

1 MySQL体系结构  
1.1 数据库与数据库实例  
数据库：物理操作系统中的文件和其他文件类型的集合，除了硬盘存储的文件，也可以是存放在内存中的文件

 

数据库实例：有数据库后台进程、线程以及一个共享内存区域组成，共享内存可以被后台进程/线程所共享，是应用程序，位于用户与操作系统直接的数据管理软件

 

注意：不能通过修改二进制文件来更改数据库内容，仅可以通过数据库实例操作数据库。在MySQL中，实例与数据库是一一对应的，但在集群环境下会发生一个数据库被多个实例调用的情况。

  

MySQL由以下组件构成：

 

连接池组件

 

管理服务与工具组件

 

SQL接口组件

 

查询分析器组件

 

优化器组件

 

缓存组件

 

插件式存储引擎

 

物理文件

 

MySQL的重要特点是其插件式存储引擎，提供了一系列标准的管理和服务支持，这些标准与存储引擎本身无关，可能是数据库系统本身所必需的，如SQL分析器和优化器等，而存储引擎是底层物理结构的实现，此外，存储引擎是基于表的，而不是数据库

 

2 常见的存储引擎  
2.1 InnoDB存储引擎  
InnoDB存储引擎支持事务，是面向在线事务处理方面的应用，支持行锁、外键，支持类似Oracle的非锁定读，默认情况读取操作不会产生锁，在MySQL5.1版本之后被设定成默认存储引擎，此前是MyISAM

 

InnoDB存储引擎将数据放在一个逻辑表空间，由InnoDB自身进行管理，将每个InnoDB存储的表单独放在一个独立的ibd文件中，同样也可以使用裸设备(row disk)建立表空间

 

InnoDB使用多版本并发控制(MVCC)获得高并发性，实现了SQL标准的4种隔离级别，默认使用的是REPEATABLE READ(可重复读)级别，此外还提供了插入缓冲、预读、二次写、自适应哈希索引、预读等高性能和高可用的功能

 

针对表数据的存储，InnoDB存储引擎采用了聚集(clustered)的方式，每张表的存储按照主键的顺序存放，如果没有显式地指定主键，InnoDB将为每一行生成一个6字节的ROWID作为主键

---
本页由 梦飞idc云平台（https://www.mfisp.com）提供。站点导航见 https://www.mfisp.com/llms.txt
