mysql數據庫表結構定義文件和存儲引擎文件

目錄

1.表結構定義文件:     

2.存儲引擎文件

2.1表空間文件

2.2重做日誌文件

3. 如何用frm文件恢復數據庫結構


1.表結構定義文件:     

*.frm 文件是所有mysql數據庫都有的文件,記錄了該表的表結構定義。

 

2.存儲引擎文件

2.1表空間文件

      InnoDB 中用於存儲數據的文件總共有兩個部分,一是系統表空間文件,包括 ibdata1、 ibdata2 等文件,其中存儲了 InnoDB 系統信息和用戶數據庫表數據和索引,是所有表公用的,另一個是.idb文件,是每張表獨有的。
當打開 innodb_file_per_table 選項時, .ibd 文件就是每一個表獨有的表空間,文件存儲了當前表的 數據,索引數據和插入緩衝等信息。

查看和設置innodb_file_per_table 配置

show variables like '%per_table%';

set global innodb_file_per_table =ON;

MyISAM引擎,表的索引數據存放在.MYI文件中,表數據存放在.MYD文件中

2.2重做日誌文件

默認情況會有2個文件,名稱分別是ib_logfile0和ib_logfile1.Mysql官方手冊稱爲InnoDB存儲引擎的日誌文件。不過更準確的定義應該是重做日誌文件(redo log file)。爲什麼強調是重做日誌文件呢?因爲重做日誌文件對於InnoDB存儲引擎至關重要,它們記錄了對於InnoDB存儲引擎的事務日誌。

3. 如何用frm文件恢復數據庫結構

只要在mysql的安裝文件中找到data文件夾,然後在裏面建立一個文件夾,比如test。這個test其實就對應着數據庫的名稱,所以,你想要起什麼樣的數據庫名稱就把文件夾起什麼名字。 
然後把.frm文件導進去。注意還要在data目錄下加入ib_logfile0,ib_logfile1,ibdata1這幾個文件,要不然在mysql裏只能找到表名(其實一個.frm文件就是對應的數據庫中的一個表.) 而不能對其進行操作。 
說明: 
比如你原來的mysql中有一些數據庫了。可以先把原來的data改名字備份在同一目錄下。(可能要改名字系統會提示有另一程序在使用這個文件,這個時候可以到控制面板的服務裏面,把mysql的服務先關掉,等改完名字,把東西都導進去後再開服務) 
然後另建一個data,把在裏面建好數據庫名把.frm導進去。

4.MYD、MYI

MYD、MYI是myisam引擎表的,數據文件,索引文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章