mysql從ibd檔案恢復資料的方法:先建立一張表,表結構與原表結構一致;然後刪除新建的表空間;接著將待恢復的【
.ibd】檔案copy到目標資料庫資料夾下,並修改檔案權限;最後匯入表空間。
本教學操作環境: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>.ibd4、匯入表空間:
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中文網其他相關文章!