麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

通過frm&i_bd 恢復 Mysql ibdata 丟失或損壞的數據教程

2019-11-02 14:32:48
字體:
來源:轉載
供稿:網友

        有時候mysql沒有做好數據備份,或者被數據管理員誤刪,或者ibdata損壞了我們如何恢復呢?別怕,只要有部分frm、ibd存在,下面就是恢復教程。

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

  注意:

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

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

  innodb_file_per_table = 1。

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

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

  b、創建一個表結構,和要恢復的表名是一樣的。表里的字段無所謂。一定要是innodb引擎的。CREATE TABLE `weibo_qq0`( `weiboid` bigint(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  c、關閉mysql, service mysqld stop;

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

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

  f、 啟動mysql,service mysqld start;show create table weibo_qq0 就能li到表結構信息了。

  2、找回數據。記得上面把 innodb_force_recovery改掉了,需要注釋掉,不然恢復模式不好操作。 這里有個關鍵的問題,就是innodb里的任何數據操作都是一個日志的記錄點。也就是如果我們需要數據恢復,必須把之前的表的數據的日志記錄點添加到一致。

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

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

  c、把之前要恢復的 .ibd文件復制到新的表結構文件夾下。 使當前的ibd 和frm發生關系。ALTER TABLE weibo_qq0 IMPORT TABLESPACE; 結果不出意外肯定會報錯。就和我們開展數據開始說的那樣,數據記錄點不一致。我們看看之前ibd記錄的點在什么位置。開始執行 import tablespace,報錯 ERROR 1030 (HY000): Got error -1 from storage engine。找到mysql的錯誤日志,InnoDB: Error: tablespace id in file ‘.testweibo_qq0.ibd’ is 112, but in the InnoDB InnoDB: data dictionary it is 1. 因為 weibo_qq0 之前的記錄點在112,當前的表只創建一次,所以記錄點是1.

  d、那怎么從1記錄到112。for ($1=1; $i<=111; $1++) {CREATE TABLE t# (id int) ENGINE=InnoDB;} 也許很奇怪,為什么是循環111,不是112。因為在a執行創建表結構的時候已經記錄增加了一次。

  e、修改表結構 alter table weibo_qq0 discard tablespace;使當前的表結構和ibd脫離關系。復制.ibd到當前的目錄結構。

  f、使原來數據的ibd和當前frm建立關系。 ALTER TABLE product IMPORT TABLESPACE; 這個時候沒有錯誤,說明已經建立好了。但是查詢數據還是查不出來。

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产午夜精品久久久久久久蜜臀 | 国产精品久久久久久影视 | 日韩激情一区 | 国产一区二区精品91 | 91久久久久久久一区二区 | 羞羞视频免费网站含羞草 | 久久精品污 | 久久我不卡 | 午夜视频在线观看免费视频 | 国产亚洲精品综合一区91 | h视频在线免费观看 | 成人短视频在线观看免费 | 黄色高清视频网站 | av最新在线 | 国产高清一区 | 主播粉嫩国产在线精品 | 在线日韩av电影 | 777sesese| 日韩在线欧美在线 | 成人福利在线视频 | 免费在线观看亚洲 | 亚洲一区在线免费视频 | 久久久久久久亚洲视频 | 欧美精品一区二区三区在线播放 | 一边吃奶一边摸下娇喘 | 91中文字幕在线观看 | 黄污污网站| www.99tv| 久久久婷婷一区二区三区不卡 | 媚药按摩痉挛w中文字幕 | 久久6国产 | 亚洲欧美国产高清va在线播放 | 国产亚洲精品久久久久久久久久 | 欧美大荫蒂xxx | 国产精品成人av片免费看最爱 | 成人福利视频在线观看 | 亚洲午夜影院在线观看 | 狠狠干91 | 日本欧美一区二区三区在线播 | 久久老司机精品视频 | 国产精品嘿咻嘿咻在线播放 |