共計 754 個字符,預(yù)計需要花費(fèi) 2 分鐘才能閱讀完成。
丸趣 TV 小編給大家分享一下 InnoDB 類型 MySql 恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
前提:保存了需要恢復(fù)數(shù)據(jù)庫的文件 .frm 和 .ibd 文件
條件:InnoDB 類型的
恢復(fù)表結(jié)構(gòu)
1. 新建一個數(shù)據(jù)庫 – 新建一個表,表名和列數(shù)和需要恢復(fù)數(shù)據(jù)庫相同
2. 停止 mysql 服務(wù)器 service mysql stop ,
3. 在 /usr/local/mysql/my.cnf 里面添加 innodb_force_recovery = 6
4. 將需要恢復(fù)的表.frm 格式文件 覆蓋 /usr/local/mysql/data/ 數(shù)據(jù)庫 下的.frm 格式文件
5. 啟動 mysql 服務(wù)器 service mysql start
6. 停掉數(shù)據(jù)庫服務(wù) service mysql stop,將 my.cnf 里面的 innodb_force_recovery = 6 注釋掉
7. 啟動 mysql 服務(wù)器 service mysql start
恢復(fù)數(shù)據(jù)
1. 先恢復(fù)表結(jié)構(gòu)
2. 執(zhí)行 alter table `user` discard tablespace ; 執(zhí)行完之后,數(shù)據(jù)庫目錄下的 user.ibd 文件就沒了
3. 把你備份的 ibd 放到消失的 user.ibd 文件那里
4. 給這個文件加權(quán)限 chown -R mysql:mysql data 所有者為 mysql
5. 執(zhí)行 alter table `user` import tablespace; 執(zhí)行完,表數(shù)據(jù)就可讀了,這時候會丟失一些諸如表行記錄數(shù)等存在系統(tǒng)表里的信息
備注: 如果遇到外鍵約束,在語句前加上 SET FOREIGN_KEY_CHECKS = 0; 完成后記得改為 1
看完了這篇文章,相信你對“InnoDB 類型 MySql 恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!