Mysql通過ibd文件恢復數(shù)據(jù)的詳細步驟
恢復步驟
1、創(chuàng)建數(shù)據(jù)庫(隨意創(chuàng)建)
2、創(chuàng)建數(shù)據(jù)表(備注:表結構要和要恢復的表結構一致,row_format要和ibd文件的row_format一致,否則,會提示兩者不一致。 當前row_format=dynamic)
3、表的屬性查看
我們使用:show table status like ‘matlab’\G
,查看表的屬性
備注:創(chuàng)建表時候的row_format和表屬性的不一致,基于innodb是,要把row_format設置成dynamic時,需要修改mysql的全局配置,直接在myql命令中修改:set global innodb_file_format=Barracuda;
4、表錯誤信息查看 show warnings
5、說明
我們在恢復表的時候,要保證row_format和ibd文件的一致,如果ibd文件是compact的話,需要建表的時候,設置成row_format=compact,在恢復的時候,自行解決,從第6步開始,重點說明如何去恢復。
6、恢復第一步:移除表空間
**alter table matlab DISCARD TABLESPACE;**
7、恢復第二步:將備份的ibd文件,放到mysql->data->創(chuàng)建的數(shù)據(jù)庫名稱->,將ibd拷貝到此目錄下,如下圖所示
具體路徑查看
-- 使用sql查詢數(shù)據(jù)目錄 **show global variables like '%datadir%';**
8、恢復第三步:重新導入表空間
**alter table matlab IMPORT TABLESPACE;**
9、當執(zhí)行到上一步完成后,我們發(fā)現(xiàn)數(shù)據(jù)庫中的數(shù)據(jù)已經(jīng)完全恢復過來了
10、數(shù)據(jù)表的結構一定要和恢復前的數(shù)據(jù)表結構一致,否則恢復失敗,導致mysql進程重啟,詳細情況需要查看mysql的error日志進行分析,另外,mysql的CE工具提供了便捷的mysql參數(shù)配置修改功能
補充:Innodb與MyISAM存儲文件的區(qū)別
Innodb存儲文件分為:.frm,.idb
.frm:存儲表定義
.ibd:存儲數(shù)據(jù)和索引
MyISAM存儲文件分為:.frm,.myd,.myi
.frm:存儲表定義
.myd:存儲數(shù)據(jù)
.myi:存儲索引
總結
到此這篇關于Mysql通過ibd文件恢復數(shù)據(jù)的文章就介紹到這了,更多相關Mysql ibd文件恢復數(shù)據(jù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- MySQL通過binlog實現(xiàn)恢復數(shù)據(jù)
- Python MySQL如何通過Binlog獲取變更記錄恢復數(shù)據(jù)
- MySQL通過日志恢復數(shù)據(jù)的操作步驟
- MySQL通過ibd文件恢復數(shù)據(jù)的操作過程
- MySQL開啟配置binlog及通過binlog恢復數(shù)據(jù)步驟詳析
- mysql binlog如何恢復數(shù)據(jù)到某一時刻
- MySQL誤刪后使用binlog恢復數(shù)據(jù)的實現(xiàn)方法
- mysql數(shù)據(jù)損壞,如何通過ibd和frm文件批量恢復數(shù)據(jù)庫數(shù)據(jù)
- Mysql如何通過ibd文件恢復數(shù)據(jù)
- mysql如何根據(jù).frm和.ibd文件恢復數(shù)據(jù)表
- 一步步教你如何使用mysql?binlog恢復數(shù)據(jù)
- MySql恢復數(shù)據(jù)方法梳理講解
- MySQL數(shù)據(jù)庫通過Binlog恢復數(shù)據(jù)的詳細步驟
- Mysql如何通過binlog日志恢復數(shù)據(jù)詳解
- mysql5.7使用binlog 恢復數(shù)據(jù)的方法
- MySQL通過binlog恢復數(shù)據(jù)
- mysql8.0無備份通過idb文件恢復數(shù)據(jù)的方法、idb文件修復和tablespace?id不一致處理