亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql 通過frm&ibd 恢復數據

發布時間:2020-09-19 21:09:02 來源:網絡 閱讀:349 作者:MQ_douer 欄目:數據庫

       mysql存儲在磁盤中,各種天災人禍都會導致數據丟失。大公司的時候我們常常需要做好數據冷熱備,對于小公司來說要做好所有數據備份需要支出大量的成本,很多公司也是不現實的。萬一還沒有做好備份,數據被誤刪除了,或者ibdata損壞了怎么辦呢?別擔心,只要有部分的frm、ibd存在就可以恢復部分數據。

注意:

一、這個是對innodb的數據恢復。myisam不需要這么麻煩,只要數據文件存在直接復制過去就可以。

二、大家的mysql數據庫必須是按表存放數據的,默認不是,但是大家生產肯定是按分表設置的吧,如果不是,不好意思,這個方法不能恢復你的數據。

      my.ini的設置為 innodb_file_per_table = 1。

1、找回表結構,如果表結構沒有丟失直接到下一步

a、先創建一個數據庫,這個數據庫必須是沒有表和任何操作的。

b、創建一個表結構,和要恢復的表名是一樣的。表里的字段無所謂。

 一定要是innodb引擎的。CREATE TABLE `test_table`( `jingfeng` char(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

c、關閉mysql, service mysqld stop; 

d、用需要恢復的frm文件覆蓋剛新建的frm文件;

e、修改my.cnf 里 innodb_force_recovery=1 , 如果不成修改為 2,3,4,5,6。

f、 啟動mysql,service mysqld start;show create table test_table\G 就能看到表結構信息了。

2、找回數據。記得上面把 innodb_force_recovery改掉了,需要注釋掉,不然恢復模式不好操作。

  這里有個關鍵的問題,就是innodb里的任何數據操作都是一個日志的記錄點。

  也就是如果我們需要數據恢復,必須把之前的表的數據的日志記錄點添加到一致。

a、建立一個數據庫,根據上面導出的創建表的sql執行創建表。

b、找到記錄點。先要把當前數據庫的表空間廢棄掉,使當前ibd的數據文件和frm分離。 ALTER TABLE test_table DISCARD TABLESPACE;

c、把之前要恢復的 .ibd文件復制到新的表結構文件夾下。 使當前的ibd 和frm發生關系。ALTER TABLE test_table IMPORT TABLESPACE;  

這個時候沒有錯誤,說明已經建立好了。如果能查到數據,到此就OK了,如果不行,請執行如下操作。

d、相比這里大家已經知道為什么了,這個模式也不是說改了數據庫就可以在生產環境使用。更改 innodb_force_recovery=1 , 如果不成修改為 2,3,4,5,6。直到可以 查詢出數據為止,然后dump出來。數據就備份出來了。

e、把所有數據導出后,在新的數據庫導入。所有數據就生成了。

引自:http://www.cnblogs.com/logo-fox/p/6210533.html

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

陈巴尔虎旗| 扎兰屯市| 渭南市| 尉犁县| 天柱县| 思南县| 泸州市| 古田县| 新宾| 崇州市| 本溪市| 伊宁县| 凤山县| 舒城县| 青川县| 闻喜县| 平阴县| 毕节市| 洛川县| 房产| 洞头县| 防城港市| 兴义市| 堆龙德庆县| 奈曼旗| 威信县| 天峨县| 湖口县| 临海市| 洪泽县| 乌恰县| 巫溪县| 溧水县| 报价| 浦北县| 泰安市| 呼玛县| 延长县| 阳谷县| 五大连池市| 阿拉尔市|