数据库(database):物理操作系统文件,或其他形式文件类型的集合
实例(instance) 数据库实例真正用于操作数据库文件
在mysql数据库中,实例与数据库通常一一对应(集群存在一个数据库被多个数据实例使用)****
Mysql数据库实例在系统上的表现是一个进程
观察进程情况:
ps -ef | grep mysqld
查看数据库启动时,会在哪些位置查找配置文件
mysql --help | grep my.cnf
数据库是文件的集合
数据库实例是程序
用户对数据库的任何操作,都是在数据库实例下进行的,应用程序只有通过数据库实例才能和数据库打交道。
数据库由如下部分组成:
连接池组件
管理服务和工具组件
SQL接口组件
查询分析器组件
优化器组件
缓冲组件
插件式存储引擎(区别于其他数据库的重要特点)
物理文件
注意:存储引擎是基于表的,而不是数据库
存储引擎
InnoDB存储引擎
是mysql的缺省引擎
优点:支持事务、行级锁(这种存储引擎数据的安全得到保证)、外键等
表的结构存储在xxx.frm文件中
数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读。
在mysql数据库崩溃以后,提供自动恢复机制
支持级联删除和级联更新