1. 程式人生 > >mysql資料庫表結構定義檔案和儲存引擎檔案

mysql資料庫表結構定義檔案和儲存引擎檔案

目錄

1.表結構定義檔案:     

2.儲存引擎檔案

2.1表空間檔案

2.2重做日誌檔案

3. 如何用frm檔案恢復資料庫結構


1.表結構定義檔案:     

*.frm 檔案是所有mysql資料庫都有的檔案,記錄了該表的表結構定義。

 

2.儲存引擎檔案

2.1表空間檔案

      InnoDB 中用於儲存資料的檔案總共有兩個部分,一是系統表空間檔案,包括 ibdata1、 ibdata2 等檔案,其中儲存了 InnoDB 系統資訊和使用者資料庫表資料和索引,是所有表公用的,另一個是.db檔案,是每張表獨有的。
當開啟 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導進去。