MySql通過資料庫檔案恢復資料庫

2022-08-19 04:45:08 字數 1407 閱讀 5761

以表」table」為例:

如型別是myisam, 資料檔案則以」table.frm」」table.myd」」table.myi」」三個檔案儲存於」/data/$databasename/」目錄中.

如型別是innodb, 資料檔案則儲存在」$innodb_data_home_dir/″中的ibdata1檔案中(一般情況),結構檔案存在於table_name.frm中.

mysql的資料庫檔案直接複製便可以使用,但是那是指「myisam」型別的表。

而使用mysql-front直接建立表,預設是「innodb」型別,這種型別的乙個表在磁碟上只對應乙個「*.frm」檔案,不像myisam那樣還「*.myd,*.myi」檔案。

myisam型別的表直接拷到另乙個資料庫就可以直接使用,但是innodb型別的表卻不行。解決方法就是:

同時拷貝innodb資料庫表「*.frm」檔案和innodb資料「ibdata1」檔案到合適的位置。啟動mysql的windows服務

由於mysql這樣資料混雜的形式, 往往很容易讓使用者在備份時忘記了備份innodb, 從而導致了上述錯誤. 

意思就是說在資料庫引擎型別為innodb時,拷貝資料檔案的同時還需要拷貝ibdata1,於是把ibdata1也拷貝過去覆蓋,發現還是有點問題,於是停止mysql服務,將目錄下的ib_logfile*檔案全部刪除掉,重新啟動mysql服務,well done,可以了

以表」table」為例:

如型別是myisam, 資料檔案則以」table.frm」」table.myd」」table.myi」」三個檔案儲存於」/data/$databasename/」目錄中.

如型別是innodb, 資料檔案則儲存在」$innodb_data_home_dir/″中的ibdata1檔案中(一般情況),結構檔案存在於table_name.frm中.

mysql的資料庫檔案直接複製便可以使用,但是那是指「myisam」型別的表。

而使用mysql-front直接建立表,預設是「innodb」型別,這種型別的乙個表在磁碟上只對應乙個「*.frm」檔案,不像myisam那樣還「*.myd,*.myi」檔案。

myisam型別的表直接拷到另乙個資料庫就可以直接使用,但是innodb型別的表卻不行。解決方法就是:

同時拷貝innodb資料庫表「*.frm」檔案和innodb資料「ibdata1」檔案到合適的位置。啟動mysql的windows服務

由於mysql這樣資料混雜的形式, 往往很容易讓使用者在備份時忘記了備份innodb, 從而導致了上述錯誤. 

意思就是說在資料庫引擎型別為innodb時,拷貝資料檔案的同時還需要拷貝ibdata1,於是把ibdata1也拷貝過去覆蓋,發現還是有點問題,於是停止mysql服務,將目錄下的ib_logfile*檔案全部刪除掉,重新啟動mysql服務,well done,可以了

MySql通過資料目錄恢復資料

0.停止mysql服務 1.備份新的資料目錄下面的my.ini,data ibdata1檔案 2.將待恢復資料庫資料夾下的ibdata1,my.ini檔案拷貝到新的mysql資料目錄下 3.在my.ini任意位置新增innodb file per table 6 4.正常啟動mysql,待恢復資料庫...

mysql通過資料檔案恢復資料方法

情況描述 伺服器硬碟損壞,伺服器換了個新硬碟 然後老硬碟插在上面。掛載在這台機器。可以從老硬碟裡面拿到資料。只拿到了裡面的mysql資料資料夾,把資料資料夾覆蓋新的伺服器mysql資料資料夾啟動報錯!報錯!錯!資料檔案如下 於是覺得不能使用覆蓋檔案的方式還原資料,得使用科學方法恢復。google之 ...

MySQL從資料庫檔案恢復資料的方法

執行步驟 1.拷貝資料夾 將待恢復資料庫資料夾 如 temp 拷貝到系統mysql資料資料夾下 一般為 var lib mysql 2.更改資料夾與表使用者 使用chown 與chgrp 命令更改資料夾與檔案的屬主 為 mysql chown mysql temp chown mysql temp ...