mysql從ibd文件恢復數據的方法:首先創建一張表,表結構與原表結構一致;然后刪除新建的表空間;接著將待恢復的【.ibd】文件copy到目標數據庫文件夾下,并修改文件權限;最后導入表空間。
本教程操作環境:windows7系統、mysql5.6&&mysql5.7版,Dell G3電腦。
相關免費學習推薦:mysql數據庫(視頻)
mysql從ibd文件恢復數據的方法:
1、創建一張表,表結構與原表結構一致:
CREATE?TABLE?<table_name>?...;</table_name>
2、刪除新建的表空間:?
ALTER?TABLE?<table_name>?DISCARD?TABLESPACE;</table_name>
3、將待恢復的
cp?<table_name>.ibd?/var/lib/mysql/<database_name> cd?/var/lib/mysql/<database_name> chown?mysql:mysql?<table_name>.ibd</table_name></database_name></database_name></table_name>
4、導入表空間:
ALTER?TABLE?<table_name>?IMPORT?TABLESPACE;</table_name>
也可能出現如下問題:
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.)</table_name>
這是由于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></table_name>
copy的ibd文件沒有賦權,請按照第二步執行權限
相關免費學習推薦:mysql數據庫(視頻)
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦