MySQL檔案目錄格式及存放位置
瞭解MYSQL的都知道,在MYSQL中建立任何一張資料表,在其資料目錄對應的資料庫目錄下都有對應表的.frm檔案,.frm檔案是用來儲存每個資料表的後設資料(meta)資訊,包括表結構的定義等,.frm檔案跟資料庫儲存引擎無關,也就是任何儲存引擎的資料表都必須有.frm檔案,命名方式為資料表名.frm,如user.frm. .frm檔案可以用來在資料庫崩潰時恢復表結構。
MySQL檔案包括MySQL所建資料庫檔案和MySQL所用引擎建立的資料庫檔案。
.frm 檔案與作業系統和資料庫引擎無關,都有這麼個與表名同名檔案。
MyISAM引擎的檔案:
.myd 即 my data,表資料檔案
.myi 即my index,索引檔案
.log 日誌檔案。
InnoDB引擎的檔案:
採用表空間(tablespace)來管理資料,儲存表資料和索引,
InnoDB資料庫檔案(即InnoDB檔案集,ib-file set):
ibdata1、ibdata2等:系統表空間檔案,儲存InnoDB系統資訊和使用者資料庫表資料和索引,所有表共用。
.ibd檔案:單表表空間檔案,每個表使用一個表空間檔案(file per table),存放使用者資料庫表資料和索引。
日誌檔案: ib_logfile1、ib_logfile2
################################################################################################################################################################
Innodb儲存引擎管理主要基於兩個檔案:表空間資料檔案和日誌檔案。
InnoDB儲存它的表&索引在一個表空間中,表空間可以包含數個檔案(或原始磁碟分割槽)。
如果沒有指定InnoDB配置選項,MySQL將在MySQL資料目錄下建立一個名為ibdata1的10MB大小的自動擴充套件資料檔案,以及兩個名為ib_logfile0和ib_logfile 1的5MB大小的日誌檔案。
ibdata1的大小在my.cnf檔案中配置:innodb_data_file_path = ibdata1:10G:autoextend
可以設定最大資料檔案限制,以免超過系統支援的最大檔案:
innodb_data_file_path = ibdata1:100M:autoextend:max:500M
日誌檔案大小在my.cnf檔案中配置:innodb_log_file_size = 256M innodb_log_files_in_group = 2
Innodb儲存引擎可以使用共享表空間或獨立表空間,使用獨立表空間時,需要將innodb_file_per_table加到配置檔案中,也可以在variables中開啟。
共享表空間是將所有的表的資料和索引儲存在ibdata1中,這樣的缺點是拷貝時必須拷貝整個大檔案,而且刪除表後容易產生碎片。
獨立表空間是為每個表建立一個.ibd檔案用來儲存資料和.frm用來存資料詞典資訊,這樣,mysql就將innodb表的資料存入各自對應的.ibd檔案中了,但結構等資訊還是會寫入ibdata。
innodb_file_per_table變數只能在配置檔案裡修改,不能使用set global ...
將innodb_file_per_table關閉之後,建立innoDB表時只生成.frm檔案,資料和索引都儲存在共享表空間ibdata1中。################################################################################################################################################################
MySQL資料庫存放位置:
1、MySQL如果使用MyISAM儲存引擎,資料庫檔案型別就包括.frm、.MYD、.MYI,預設存放位置是C:\Documentsand Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data
2、MySQL如果使用InnoDB儲存引擎,資料庫檔案型別就包括.frm、ibdata1、.ibd,存放位置有兩個,
.frm檔案預設存放位置是C:\Documents and Settings\All Users\ApplicationData\MySQL\MySQL Server 5.1\data,ibdata1、.ibd檔案預設存放位置是MySQL安裝目錄下的data資料夾
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7220098/viewspace-1136064/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 更改MySQL資料檔案目錄位置MySql
- 更改MySQL資料檔案存放目錄位置MySql
- mysql修改資料檔案目錄MySql
- 檔案目錄(MOOC)
- 檔案目錄配置
- Docker 檔案目錄Docker
- Redhat:檔案目錄管理Redhat
- laravel檔案目錄樹Laravel
- Linux檔案目錄Linux
- Web前端——檔案存放位置規範Web前端
- MySQL 配置檔案位置及命名。MySql
- 檔案管理 檔案目錄概念
- Ionic檔案目錄說明
- php.ini 檔案存放位置不對?PHP
- mysql移動資料存放目錄及問題薦MySql
- Windows MySQL load data 命令中的infile 檔案目錄WindowsMySql
- 修改預設MYSQL資料庫data存放位置MySql資料庫
- 檔案目錄許可權操作
- IDA檔案目錄簡介
- 系統移植存放位置
- Java實現檔案目錄操作書目錄Java
- DedeCMS模板目錄的檔案目錄結構
- 修改預設的mysql5.1預設資料檔案目錄MySql
- idea訪問resources檔案目錄Idea
- iOS沙盒檔案目錄介紹iOS
- [PY3]——IO——檔案目錄操作
- 【Linux檔案目錄命令】rm命令Linux
- tomcat配置虛擬檔案目錄Tomcat
- Oracle 11g RAC檔案目錄Oracle
- 檔案的邏輯結構、檔案目錄
- 配置歸檔位置和檔案格式
- 檢視mysql 的binlog日誌存放的位置(轉)MySql
- Linux訪問Windows共享檔案目錄LinuxWindows
- Laravel 自定義函式存放位置Laravel函式
- AWR取樣資料存放位置
- linux的部分檔案目錄操作語句Linux
- 解析Linux作業系統檔案目錄Linux作業系統
- ORA-09817 trace檔案目錄滿了