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數據表上的索引是表空間的一個組成部分),它們包含着對數據表裏全部記錄的引用指針。索引不是萬能的,索引能夠加快數據檢索操做,但會使數據修改操做變慢。 操作系統

相關文章
相關標籤/搜索