一次innodb資料恢複執行個體

來源:互聯網
上載者:User

周末的時候,開發人員在使用一台機器做測試,安裝了一個一鍵安裝包lnmp。結果把這台機器上的原來rpm安裝的mysql-server搞掛了,後來不知道他們怎麼弄的,把mysql-server儲存在/var/lib/mysql 下的檔案損壞了一些 導致尋找不到表裡的資料 .我本地登陸進去後,發現沒有mysql這個庫了,繼續看錶,可以顯示到表 ,但是找不到表裡的資料.看了下錯誤記錄檔,報沒有許可權訪問這個表。周一和北京那邊負責維護這台機器的人聯絡後,結果如下:沒有做備份,沒有二進位日誌,也不知道用得啥引擎。這台機器交接給我們這邊的開發人使用時沒有做特別說明,開發也不知道上面跑了個mysql。現在出了這個問題,沒辦法,我來弄了只有.仔細檢查/var/lib/mysql 目錄下,確定引擎為innodb,共用資料庫檔案還在,表的結構檔案也還在,redolog也還在,還好,問題不大。接下來採用如下步驟恢複資料庫:

1、恢複原資料庫的設定檔:包括日誌大小 檔案路徑等

2、在[mysqld]段中增加:innodb_force_recovery = 4

3、可以在另外地方建立新的資料庫並用原表的結構建立表

4、將上一步中建立的.frm表檔案拷貝到準備恢複的資料庫中

5、啟動資料庫

6、停止資料庫 注釋掉innodb_force_recovery = 4項

7、重新啟動資料庫,應該可以用mysqldump匯出資料了

表結構檔案應該可以憑藉你的記憶恢複關鍵是ibdata資料完好 用匯出的sql重新入庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.