MySQL数据库文件介绍

mysql的数据储存目录在mysql的配置文件my.ini文件设置,格式以下:
# Uncomment the following rows if you move the MySQL distribution to another
# location
basedir = d:/cyoa/mysql_cy/
datadir = d:/cyoa/mysql_cy/data/    

      其中datadir目录定义了mysql的数据存储位置,MySQL的每一个数据库都对应存放在一个与数据库同名的文件夹中(该目录下datadir参数对应的目录下),MySQL数据库文件包括MySQL所建数据库文件和MySQL所用存储引擎建立的数据库文件。 mysql

MySQL若是使用MyISAM存储引擎,数据库文件类型就包括.frm、.MYD、.MYI
MySQL若是使用InnoDB存储引擎,数据库文件类型就包括.frm、ibdata一、.ibd,存放位置有两个,ibdata一、.ibd文件默认存放位置是MySQL安装目录下的data文件夹.
sql

一、MySQL建立并管理的数据库文件:
.frm文件:存储数据表的框架结构,与表相关的元数据(meta)信息都存放在“.frm”文件中,包括表结构的定义信息等,文件名与表名相同,每一个表对应一个同名frm文件与操做系统和存储引擎无关,即无论MySQL运行在何种操做系统上,使用何种存储引擎,都有这个文件。
除了必有的.frm文件,根据MySQL所使用的存储引擎的不一样(MySQL经常使用的两个存储引擎是MyISAM和InnoDB),存储引擎会建立各自不一样的数据库文件。
.MYD文件:即MY Data,表数据文件
.MYI文件:即MY Index,索引文件
.log文件:日志文件
数据库

二、InnoDB采用表空间(tablespace)来管理数据,存储表数据和索引,
      InnoDB数据库文件(即InnoDB文件集,ib-file set),该文件通常存在在mysql的数据目录下,如:ibdata一、ibdata2等系统表空间文件,存储InnoDB系统信息和用户数据库表数据和索引,全部表共用.ibd文件:单表表空间文件,每一个表使用一个表空间文件(file per table),存放用户数据库表数据和索引。每修改数据记录,索引就必须刷新一次。为了在某种程序上弥补这一缺陷,许多SQL命令都有一个DELAY_KEY_WRITE项。这个选项的做用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有以后马上对索引进行刷新,对索引的刷新将等到所有记录插入/修改完毕以后再进行。 框架

三、日志文件: ib_logfile一、ib_logfile2 spa


索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里全部记录的引用指针。索引不是万能的,索引能够加快数据检索操做,但会使数据修改操做变慢。 操作系统

相关文章
相关标签/搜索