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

mysql如何從ibd檔案恢復數據

coldplay.xixi
發布: 2023-01-04 09:37:28
原創
7625 人瀏覽過

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、將待恢復的

.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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板