1. 程式人生 > >mysql——在沒有ibdata1檔案的情況下用*.frm和*.ibd檔案恢復資料庫

mysql——在沒有ibdata1檔案的情況下用*.frm和*.ibd檔案恢復資料庫

昨天同學問我阿里雲上的資料庫被盜了 只留下了一個QQ號是不是被盜了,辛辛苦苦手敲的化學相關的知識庫就這樣沒了;然後告訴我之前保留過兩個檔案(frm和ibd),然後就百度、Google…etc;資料庫恢復成功 哈哈!!!

切記 恢復之前先把備份好的frm和ibd檔案拷貝到別的資料夾做好備份,免得一次不成功改寫了檔案!
  1. 安裝MySQL Utilities管理工具,可在官網下載;
  2. 建立同名數據庫;(建立資料庫之前如果show databases命令還能查到目標資料庫,可以直接刪除data目錄下的該資料庫資料夾);
  3. 然後把.frm檔案拷貝到data/資料庫名 資料夾下,用於一會恢復表結構
  4. cd到data/資料庫名 目錄下,執行以下命令
mysqlfrm --server=root:[email protected] mydb:mytable.frm --port=3307
注意:rootpassword為資料庫密碼 如果沒有可以不填,mydb為資料庫名,mytable為表名;


5.執行後稍等片刻就會在命令列打印出建立表的sql語句,然後複製出來利用sql管理工具執行去建立表(如果執行之前資料庫中已經存在表則先刪除此資料表然後再執行sql語句);此時資料庫和表結構已經恢復完畢;

然後利用*.ibd檔案恢復資料表裡面的資料;步驟如下:

6.登陸資料庫執行以下語句:
ALTER TABLE `資料庫名`
.`表名` DISCARD TABLESPACE;
7.然後把備份的*.ibd檔案拷貝到data目錄下的資料庫資料夾下;登陸資料庫然後執行以下命令:
ALTER TABLE `資料庫名`.`表名` IMPORT TABLESPACE;

稍等片刻 ok 資料恢復成功!!!

相關推薦

mysql——在沒有ibdata1檔案情況*.frm*.ibd檔案恢復資料庫

昨天同學問我阿里雲上的資料庫被盜了 只留下了一個QQ號是不是被盜了,辛辛苦苦手敲的化學相關的知識庫就這樣沒了;然後告訴我之前保留過兩個檔案(frm和ibd),然後就百度、Google…etc;資料庫恢復成功 哈哈!!! 切記 恢復之前先把備份好的frm和i

MySQL innodb引擎根據.frm.ibd檔案恢復表結構資料

  一次恢復資料庫表結構和資料的實戰,僅以此貼作為記錄。   由於,前幾天我們使用的資料庫被入侵(順便鄙視一下安全管理人員),資料庫中的表都顯示不存在(僅剩一個黑客自建的----qq_xxxxx的表,但物理檔案都在,例如:.frm、.ibd檔案等)。因此,產生了這次恢復表結

沒有圖片的情況css3實現一個圓形

        最近研究學習css3發現它的確用很大的用途,以前圓形大部分都是用圖片來實現的,今天用css3實現了一個圓形, html程式碼如下:             <div>藍楓 </div> css程式碼如下:         *

MySQL僅從.frm.ibd檔案恢復資料

前言 MySQL的資料庫其相關檔案都會存放在安裝目錄下data資料夾下的同命資料夾中,不同的儲存引擎建立的表其檔案也不一樣,下面來認識

不使用spring的情況java原生程式碼操作mongodb資料庫的兩種方式

由於更改了mongodb3.0資料庫的密碼,導致這幾天storm組對資料進行處理的時候,一直在報mongodb資料庫連線不上的異常。 主要原因實際上是和mongodb本身無關的,因為他們改的是配

MySQL使用frmibd檔案恢復資料

本文所述內容,均是本人親測,並非複製貼上轉載環境:CentOS 6 X64MySQL 5.6.36獨立表空間(my.cnf中 innodb_file_per_table = 1)   否則無法恢復情景描述:由於操作人員對伺服器,直接物理重啟,導致MySQL無法啟動檢視錯誤日誌

怎樣電腦連結別人的無線網路(沒有密碼的情況,生活艱苦,被逼無奈)

你是否有電腦沒網用又不知道附近無線網密碼的時候(我就有這種情況),下面我就分享一下一個簡單快捷的方法。   *************************************************************************************

MYSQL 索引型別、什麼情況不上索引、什麼情況不推薦使用索引

mysql explain的使用: 索引型別 在資料庫表中,對欄位建立索引可以大大提高查詢速度。假如我們建立了一個 mytable表 程式碼如下: CREATE TABLE mytable(   ID INT NOT NULL,    username

沒有原始碼的情況修改.class檔案

寫這個博文是因為我自己遇到了問題,不打算大包大攬的詳細解釋,沒有這個能力,也沒有這意願。理由很簡單,只是因為害怕遺忘。。。 類似的經歷不知是否是常見的情況,總之說說的我的問題: 先發發牢騷,諾記這個公司現在越來越差其實是有原因的,網上很多文章的分析,都有各方

什麽情況+運算符進行字符串連接比調StringBuffer/StringBuilder對象的append方法連接字符串性能更好?

字符串拼接 build 字符串 字符串連接 操作 重新 運算 運算符 對象存儲 String一旦賦值或實例化後就不可更改,如果賦予新值將會重新開辟內存地址進行存儲。而StringBuffer類使用append和insert等方法改變字符串值時只是在原有對象存儲的內存地址上進

V-3-3 在沒有VCenter的情況,復制虛擬機

vmware在有VCenter的情況下,可以創建一個模板虛擬機後,右鍵直接克隆一臺虛擬機。或者將虛擬機轉換為模板後,以模板創建虛擬機。如果沒有VCenter而現在要創建多臺相同的虛擬機的時候可以使用模板來創建虛擬機。這裏說到一個情況是在既沒有VCenter和模板的情況下,如何快速復制多臺相同的虛擬機。這裏參考

繼承組合混搭的情況,構造析構函數的調順序

組合 log class urn std 調用父類 parent clas 父類 繼承和組合混搭的情況下: 構造時,先調用父類的構造函數(如果父類還有父類,先執行父類的父類的構造函數,在執行父類的構造函數),再調用組合對象的構造函數,最後調用自己的構造函數;

css 命名 有的加# ,有的加點 ,有的沒加。請問都在什麽情況的?

什麽 mil 們的 相對 col ont 水平 示例 ack 【nav{}】這樣的樣式是給特定的標簽直接定義樣式時使用的,這個樣式名稱是跟標簽是相對應的,比如我要給<p></p>這個標簽設置樣式,那我就可以直接寫:p{樣式}就可以,但是這樣寫並沒有特

重寫serialize方法,使文本框在沒有輸入的情況,使用默認值

cti sele check eset box class TE rop func jQuery.fn.extend({ serialize: function () { return jQuery.param(this.serializeArray()) }, ser

說“快樂”還是“安康”?如何在不擡杠的情況AI搞定這問題

adding 抽取 中國 等等 news orm 工業 數字化 紅樓 祝大家端午節快樂,我們今天要聊的…..什麽?不能說快樂了?顯得沒文化?哦,那祝大家端午節安康,咱們今天……什麽?端午節安康都是一群營銷號瞎忽悠的,相信他們還是沒文化?到底還能不能好好說話了?要不我幹脆祝大

mysql,密碼正確的情況報錯,ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

留言 修改 提示 接下來 cat 查看 騰訊 mysql密碼 securecrt 失敗 關鍵詞 : mysql密碼正確的情況下報錯,ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using p

在不開啟excel的情況python執行excel的萬得wind更新

 經常用excel顯示萬得資料的朋友會遇到一個問題,每次更新資料要開啟excel才行,比如如下程式碼獲取當日的所有A股。 =wset("sectorconstituent","date="&J3,"sectorId="&J4,"field=date,wind_code,s

Linuxlsdu命令檢視檔案以及資料夾大小 (轉載)

ls的用法 ls -l |grep "^-"|wc -l或find ./company -type f | wc -l  檢視某資料夾下檔案的個數,包括子資料夾裡的。 ls -lR|grep "^-"|wc -l   檢視某資料夾下資料夾的個數,包括子資料夾裡的

在不開啟 MySQL 3306 埠的情況,使用 Navicat 進項遠端連線(使用22埠)

相關連結: 在 CentOS 1804 中 使用 yum 安裝 MySQL 5.7 最新版 在 CentOS 1804 中 安裝 MySQL 5.7.20 (或任意MySQL版本) 在 CentOS 1804 中 修改 MySQL 密碼策略 在 CentOS 中 開啟 MySQL 的

給定陣列a[0:n-1]試設計一個演算法,在最壞情況[3n/2 -2 ] 次比較找出a[0:n-1]中元素的最大值最小值;教材2-15

給定陣列a[0:n-1]試設計一個演算法,在最壞情況下用[3n/2 -2 ] 次比較找出a[0:n-1]中元素的最大值和最小值; 解:要求對於陣列用小於【3n/2-2】的比較次數找到兩個最值 可以用陣列第一個元素來初始化max,min 然後遍歷陣列,分別和max,min比較,一遍就可以找