一、定义数据库和实例
在数据库领域中有两个词很容易混淆,这就是“数据库”(database)和“实例”(instance)。
1)数据库
物理操作系统文件或其他形式文件类型的集合。在MySQL数据库中,数据库文件可以是frm、MYD、MYI、ibd结尾的文件,当使用NDB引擎时,数据库的文件可能不是操作系统上的文件,而是存放于内存之中的文件,但定义仍然不变。
2)实例
MySQL数据库由后台线程以及一个共享内存区组成。共享内存可以被运行的后台线程锁共享。需要牢记的是,数据库实例才是真正用于操作数据库文件的。
3)特点
在MySQL数据库中,实例与数据库的关系通常是一一对应的,即一个实例对应一个数据库,一个数据库对应一个实例。但是,在集群情况下可能存在一个数据库被多个数据库实例使用。
MySQL被设计为一个进程多线程的数据库(Oracal有多进程版本),这也就是说,MySQL数据库实例在系统上的表现就是一个进程
MySQL体系结构
MySQL由以下几部分组成
- 连接池服务
- 管理服务和工具组件
- SQL接口组件
- 查询分析器组件
- 优化器组件
- 缓冲(Cache)组件
- 插件式存储引擎
- 物理文件

MySQL数据库区别于其他数据库最重要的特点就是其插件式的表存储引擎。存储引擎是底层物理结构的实现,每个存储引擎开发者可以按照自己的意愿来进行开发。
存储引擎是基于表的,而不是数据库。