RM新时代国际平台

  • <div id="r605l"></div>
      1. <th id="r605l"></th>
      2. mysql誤刪數(shù)據(jù)庫(kù)表的frm文件和ibd文件?試試這樣恢復(fù)

        之所以做這個(gè)實(shí)驗(yàn),也是有個(gè)朋友誤刪了某張表的frm和ibd文件,然后要導(dǎo)入數(shù)據(jù)的時(shí)候一直提示無(wú)法重新創(chuàng)建這張表,這時(shí)候應(yīng)該怎么解決呢?我們用一個(gè)實(shí)驗(yàn)來(lái)看看。。

        以下ERROR 29 (HY000): 

        測(cè)試在t表表結(jié)構(gòu)不存在的時(shí)候插入數(shù)據(jù),發(fā)現(xiàn)可以插入成功

        重啟之前得在其他數(shù)據(jù)庫(kù)新建t表結(jié)構(gòu),然后復(fù)制frm文件到原數(shù)據(jù)庫(kù)即可

        因?yàn)閙yisam不需要記錄信息到數(shù)據(jù)字典,所以drop后重建就行了

        此時(shí)t2表結(jié)構(gòu)和數(shù)據(jù)已經(jīng)恢復(fù)

        可以發(fā)現(xiàn)修復(fù)不成功ti2m1g.jpg

        考慮到在使用innoDB引擎的數(shù)據(jù)庫(kù)中,其實(shí)際數(shù)據(jù)不是存放在數(shù)據(jù)庫(kù)目錄下的,而是放在一個(gè)叫ibdata1的文件內(nèi)(默認(rèn)配置時(shí)),其目錄下只是放置了數(shù)據(jù)庫(kù)的表及表結(jié)構(gòu)相關(guān)的信息。這里在其他庫(kù)上建立t表及數(shù)據(jù),然后將這個(gè)表復(fù)制到test庫(kù)下

        拷貝后發(fā)現(xiàn)還是沒(méi)有恢復(fù)成功

        升級(jí)后還是沒(méi)有恢復(fù)成功

        因?yàn)楣蚕肀砜臻g記錄了信息

        配置文件的一個(gè)參數(shù):innodb_force_recovery

        innodb_force_recovery 會(huì)影響整個(gè)InnoDB存儲(chǔ)引擎的恢復(fù)狀況。默認(rèn)為0,表示當(dāng)需要恢復(fù)時(shí)執(zhí)行所有的

        innodb_force_recovery可以設(shè)置為1-6,大的數(shù)字包含前面所有數(shù)字的影響。當(dāng)設(shè)置參數(shù)值大于0后,可以對(duì)表進(jìn)行

        select,create,drop操作,但insert,update或者delete這類(lèi)操作是不允許的。

        1、在mysql庫(kù)創(chuàng)建t表及數(shù)據(jù)

        2、停止數(shù)據(jù)庫(kù)

        3、復(fù)制frm和ibd文件

        4、修改參數(shù)

        5、兩次啟動(dòng)數(shù)據(jù)庫(kù)

        啟動(dòng)mysql,再關(guān)閉mysql 把配置innodb_force_recovery = 6給刪除了,然后啟動(dòng)mysql

        6、drop 表后重建

        提示ERROR 1813 (HY000): Tablespace '`test`.`t`' exists或ERROR 1813 (HY000): Unknown error 1813都是表空間問(wèn)題

        此時(shí)只需要?jiǎng)h除對(duì)應(yīng)的.ibd文件即可或者alter table t discard tablespace;來(lái)刪除

        1、誤刪數(shù)據(jù)文件時(shí)不要忙著重啟數(shù)據(jù)庫(kù),先查看表是否存在,做一下備份

        2、定期備份是很重要的

        3、以上innodb表實(shí)際上只恢復(fù)了表結(jié)構(gòu),表數(shù)據(jù)并沒(méi)有恢復(fù),可以考慮通過(guò)mysqlbinlog進(jìn)行回退

        覺(jué)得有用的朋友多幫忙轉(zhuǎn)發(fā)哦!后面會(huì)分享更多devops和DBA方面的內(nèi)容,感興趣的朋友可以關(guān)注下~


        下一篇:mysql連接報(bào)“Communications link failure”錯(cuò)誤
        RM新时代国际平台
      3. <div id="r605l"></div>
          1. <th id="r605l"></th>
          2. <div id="r605l"></div>
              1. <th id="r605l"></th>
              2. 新时代RM|国际平台 新时代软件下载 RM新时代官网网址 rm新时代是正规平台 新时代rm平台入口