首頁  >  文章  >  資料庫  >  mysql如何從ibd檔案恢復數據

mysql如何從ibd檔案恢復數據

coldplay.xixi
coldplay.xixi原創
2020-12-15 14:00:197493瀏覽

mysql從ibd檔案恢復資料的方法:先建立一張表,表結構與原表結構一致;然後刪除新建的表空間;接著將待恢復的【.ibd】檔案copy到目標資料庫資料夾下,並修改檔案權限;最後匯入表空間。

mysql如何從ibd檔案恢復數據

本教學操作環境:windows7系統、mysql5.6&&mysql5.7版,Dell G3電腦。

相關免費學習推薦:mysql資料庫#(影片)

##mysql從ibd檔案還原資料的方法:

1、建立一張表,表結構與原始表結構一致:

CREATE TABLE <table_name> ...;

2、刪除新建的表空間: 

ALTER TABLE <table_name> DISCARD TABLESPACE;

3、將待恢復的

2d8f501bba7dbcabf64f6c8aceccc3b7.ibd檔案copy到目標資料庫資料夾下,並修改檔案權限:

cp <table_name>.ibd /var/lib/mysql/<database_name>
cd /var/lib/mysql/<database_name>
chown mysql:mysql <table_name>.ibd

4、匯入表空間:

ALTER TABLE <table_name> IMPORT TABLESPACE;

也可能出現以下問題:

1、mysql 1808錯誤:

Error Code: 1808. Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, <table_name>.ibd file has ROW_TYPE_COMPACT row format.)

這是由於mysql 5.6的檔案還原到mysql 5.7版本導致的錯誤,需要在建表語句後面加上

ROW_FORMAT=COMPACT,如下圖:

create table test(id int, name varchar(10)) row_format=compact;

2、mysql 1812錯誤:

Error Code:1812. Tablespace is missing for table <table_name>

copy的ibd檔案沒有賦權,請依照第二步驟執行權限

相關免費學習推薦:

php程式設計(影片)

以上是mysql如何從ibd檔案恢復數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn