您好,登錄后才能下訂單哦!
小編給大家分享一下InnoDB類型MySql恢復表結構與數據的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
前提:保存了需要恢復數據庫的文件 .frm 和 .ibd 文件
條件:InnoDB 類型的
恢復表結構
1.新建一個數據庫--新建一個表,表名和列數和需要恢復數據庫相同
2.停止mysql服務器 service mysql stop ,
3.在/usr/local/mysql/my.cnf 里面添加innodb_force_recovery = 6
4.將需要恢復的表.frm格式文件 覆蓋/usr/local/mysql/data/數據庫 下的.frm格式文件
5.啟動mysql服務器 service mysql start
6.停掉數據庫服務 service mysql stop ,將my.cnf 里面的 innodb_force_recovery = 6 注釋掉
7.啟動mysql服務器 service mysql start
恢復數據
1.先恢復表結構
2.執行 alter table `user` discard tablespace ; 執行完之后,數據庫目錄下的user.ibd文件就沒了
3.把你備份的ibd放到消失的user.ibd文件那里
4.給這個文件加權限 chown -R mysql:mysql data 所有者為mysql
5.執行 alter table `user` import tablespace; 執行完,表數據就可讀了,這時候會丟失一些諸如表行記錄數等存在系統表里的信息
備注:如果遇到外鍵約束,在語句前加上SET FOREIGN_KEY_CHECKS = 0; 完成后記得改為1
看完了這篇文章,相信你對“InnoDB類型MySql恢復表結構與數據的示例分析”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。