1.1定义数据库和实例
在数据库领域中有两个词语很容易混淆,它们就是"实例(instance)“和"数据库”(database).
数据库: 物理操作系统文件或其他i形式文件类型的集合.在Mysql中,数据库文件可以说frm,myd,ibd结尾的文件.当使用NDB引擎时,数据库的文件可能部署操作系统上的文件,而是存放于内存之中的文件,但是定义依然不变.
数据库实例: 由数据库后台进程/线程以及一个共享内存去组成.共享内存可以被运行的后台进程/线程所共享.需要牢记的时,数据库实例才是真正用来操作数据库文件的.
在Mysql中,实例和数据库的通常关系时一一对应,即一个实例对应一个数据库,一个数据库对应一个实例.但是在集群情况下可能存在一个数据库可被多个实例使用的情况下可能存在一个数据库可被多个实例使用的情况.
Mysql被设计为一个单例多线程的数据库,这点与SQL Server比较类似,但与Oracle多线程的架构有所不同(Oracle的Windows版本也是单例多线程的架构).这也就是说,Mysql数据库实例在系统上表现的就是一个线程.
在Linux中启动Mysql数据库实例,命令:
./mysqld_safe &
show engines\G;
## 2.1InnoDB存储引擎特点
共享表空间ibdata1的大小为12M。
表空间
表空间的内部组织结构
表空间–区
表空间—页
表空间—记录