新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Linux EXT3下刪除MySQL數據庫的數據恢復

        Linux EXT3下刪除MySQL數據庫的數據恢復

        作者: 時間:2012-08-21 來源:網絡 收藏

        本文主要研究服務器及非WINDOWS平臺下的數據災難恢復。

        本文引用地址:http://www.104case.com/article/148558.htm

        [故障描述]

        一臺重要的MYSQL服務器,146GB*2,RAID1,約130GB DATA卷,存儲了大約200~300個。平時管理員對每個dump出以后,直接壓縮成.gz包,再將所有重要的.gz 包合起來壓縮成一個總的.tar.gz包,這些文件每日產生一次,覆蓋原來的備份。數據文件及備份文件全部存儲于data卷上。

        一次系統維護中,管理員不小心將data卷下的所有文件全部rm,后,馬上停止系統,再未做其它操作,但時仍有大量終端在訪問此服務器。

        要求恢復mysql數據庫文件,即myd、frm、myi(可重建)文件,或每個數據庫的.gz包,或所有重要數據庫總的.tar.gz備份包。

        [分析]

        ext3下的數據,理論上,會清除inode中除節點類型、日期外的其他屬性,諸如文件大小、數據存儲地址等屬性會全部清0,同時目錄表中會以目錄條目長度的方式屏蔽掉已刪除文件,但會保留節點編號,最后會改變BITMAP中的空間占用標志。

        即使是目錄表中存在刪除文件的節點編號,但因節點內容已經沒有需要的東西,與數據區也是脫鉤的。

        從數據角度,大多數文件類型都會有特定的文件頭標志,按頭標志是有可能找到刪除文件的起始位置的,但以塊組為單位進行存儲,同時數據與索引是混合存儲于數據區的,所以數據連續存儲的可能性非常之小,這樣,按文件格式進行處理也是很困難的。

        唯一的算法是結合上述幾個特征,加上對日志的分析,加上對存儲過程的模擬分析,盡可能地逼近真實存儲結構。

        [過程]

        1、對故障卷做完整備份。

        2、對總.tar.gz進行恢復分析,但恢復出來的文件解壓到50%左右會報錯,后續文件列表也無法列出。經分析,最大的原因是刪除時仍有數據寫入破壞文件導致。

        3、對分包的.gz文件進行恢復分析,大多數恢復成功。

        4、對于未恢復成功的.gz數據庫。直接恢復其mydfrm數據文件,所有數據恢復成功。

        [其他]

        1、LINUX 數據刪除后應盡快斷掉文件系統IO,通常umount文件系統即可。

        2、對故障卷做dd備份,確保數據恢復過程不會導致更嚴重的故障。

        linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        linux相關文章:linux教程




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 琼中| 天长市| 邯郸市| 鲜城| 龙胜| 额济纳旗| 安西县| 苍南县| 南阳市| 林芝县| 贺兰县| 页游| 玉龙| 巨鹿县| 辽阳市| 海淀区| 天气| 五峰| 开远市| 五家渠市| 偏关县| 霍州市| 博湖县| 新田县| 灌云县| 神木县| 东兰县| 杨浦区| 泸西县| 南雄市| 庄河市| 台山市| 宽城| 惠安县| 康定县| 洛隆县| 娱乐| 建平县| 苏尼特右旗| 仁布县| 晋州市|