小編給大家分享一下InnoDB類型MySQL恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)建站長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為衡陽企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,衡陽網(wǎng)站改版等技術(shù)服務(wù)。擁有10多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
前提:保存了需要恢復(fù)數(shù)據(jù)庫的文件 .frm 和 .ibd 文件
條件:InnoDB 類型的
恢復(fù)表結(jié)構(gòu)
1.新建一個(gè)數(shù)據(jù)庫--新建一個(gè)表,表名和列數(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.啟動(dòng)mysql服務(wù)器 service mysql start
6.停掉數(shù)據(jù)庫服務(wù) service mysql stop ,將my.cnf 里面的 innodb_force_recovery = 6 注釋掉
7.啟動(dòng)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.給這個(gè)文件加權(quán)限 chown -R mysql:mysql data 所有者為mysql
5.執(zhí)行 alter table `user` import tablespace; 執(zhí)行完,表數(shù)據(jù)就可讀了,這時(shí)候會(huì)丟失一些諸如表行記錄數(shù)等存在系統(tǒng)表里的信息
備注:如果遇到外鍵約束,在語句前加上SET FOREIGN_KEY_CHECKS = 0; 完成后記得改為1
看完了這篇文章,相信你對(duì)“InnoDB類型MySql恢復(fù)表結(jié)構(gòu)與數(shù)據(jù)的示例分析”有了一定的了解,如果想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!