通過(guò)ibd文件恢復(fù)MySql數(shù)據(jù)的操作方法
今天干了一件大事,安裝1Panel導(dǎo)致原來(lái)服務(wù)器上的所有容器都干沒(méi)了,主要是MySQL。今天就介紹一下恢復(fù)數(shù)據(jù)的過(guò)程,只有.ibd文件怎么恢復(fù)MySql
MySql版本8.8.4
第一種情況:知道表結(jié)構(gòu)
知道表結(jié)構(gòu)的話恢復(fù)數(shù)據(jù)比較簡(jiǎn)單
1、創(chuàng)建數(shù)據(jù)庫(kù)
2、建表,要求就是跟原來(lái)的表結(jié)構(gòu)一樣
3、將你的.ibd文件直接拷貝到當(dāng)前數(shù)據(jù)庫(kù)的data目錄下
4、重啟MySql
重啟成功就結(jié)束了
第二種情況:不知道表結(jié)構(gòu)
這種情況下就需要借助額外的工具來(lái)恢復(fù)數(shù)據(jù)
1、安裝 python3 執(zhí)行下面這個(gè)命令安裝
yum install -y python3
2、安裝ibd2sql這個(gè)工具
#下載壓縮包 wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zip #解壓 unzip main.zip
3、進(jìn)入 ibd2sql-main 目錄下
4、執(zhí)行命令
python3 main.py ***********你的ibd文件的具體路徑************* --ddl --sql
python3 main.py /opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd --ddl --sql
執(zhí)行完畢后就會(huì)出現(xiàn)對(duì)應(yīng)的sql腳本,最后直接在執(zhí)行一下這個(gè)sql腳本就能把表結(jié)構(gòu)和數(shù)據(jù)都找回來(lái)了,這種方式是通過(guò)執(zhí)行sql腳本重新創(chuàng)建表和插入數(shù)據(jù)
當(dāng)然也可以先執(zhí)行--ddl 找回表結(jié)構(gòu)
python3 main.py /opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd --ddl
然后在新的數(shù)據(jù)庫(kù)中執(zhí)行create語(yǔ)句把表建好,最后再把你的.ibd文件目錄拷貝到新的數(shù)據(jù)庫(kù)的data目錄下,最后重啟MySQL,重啟成功的話 數(shù)據(jù)就都找回來(lái)了,要是重啟失敗的話就只能執(zhí)行--ddl和--sql找回?cái)?shù)據(jù)了
總結(jié)
總之兄弟們,操作數(shù)據(jù)庫(kù)的時(shí)候最好還是備份一下,一不小心整個(gè)庫(kù)都沒(méi)了,太嚇人了,還有就是如果有兄弟安裝1Panel,先確保服務(wù)器上沒(méi)有其他的docker容器,不然的話安裝1Panel時(shí)會(huì)將服務(wù)器上原來(lái)的docker容器和鏡像全部都給清了,所以在安裝1Panel的時(shí)候先做好備份,或者說(shuō)一開始服務(wù)器上沒(méi)有docker的時(shí)候安裝1Panel
到此這篇關(guān)于如何通過(guò)ibd文件恢復(fù)MySql數(shù)據(jù)的文章就介紹到這了,更多相關(guān)MySql ibd文件恢復(fù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySql?字符集不同導(dǎo)致?left?join?慢查詢的問(wèn)題解決
當(dāng)兩個(gè)表的字符集不一樣,在使用字符型字段進(jìn)行表連接查詢時(shí),就需要特別注意下查詢耗時(shí)是否符合預(yù)期,本文主要介紹了MySql?字符集不同導(dǎo)致?left?join?慢查詢的問(wèn)題解決,感興趣的可以了解一下2024-05-05MySQL?數(shù)據(jù)庫(kù)的約束及數(shù)據(jù)表的設(shè)計(jì)原理
這篇文章主要介紹了MySQL?數(shù)據(jù)庫(kù)的約束及數(shù)據(jù)表的設(shè)計(jì)原理,數(shù)據(jù)庫(kù)中的約束即是對(duì)插入數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行限定,為了保證數(shù)據(jù)的有效性和完整性,下面一起來(lái)了解具體的詳細(xì)內(nèi)容,需要的小伙伴可以參考一下2021-12-12MySQL實(shí)現(xiàn)字符串的拼接,截取,替換,查找位置的操作
這篇文章主要介紹了MySQL實(shí)現(xiàn)字符串的拼接,截取,替換,查找位置的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02MySQL?SQL性能分析之慢查詢?nèi)罩?、explain使用詳解
這篇文章主要介紹了MySQL?SQL性能分析?慢查詢?nèi)罩?、explain使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04深入淺析MySQL 中 Identifier Case Sensitivity問(wèn)題
這篇文章主要介紹了MySQL 中 Identifier Case Sensitivity,需要的朋友可以參考下2018-09-09Mysql 數(shù)據(jù)庫(kù)開啟binlog的實(shí)現(xiàn)步驟
本文主要介紹了Mysql 數(shù)據(jù)庫(kù)開啟binlog的實(shí)現(xiàn)步驟,對(duì)于運(yùn)維或架構(gòu)人員來(lái)說(shuō),開啟binlog日志功能非常重要,具有一定的參考價(jià)值,感興趣的可以了解一下2023-11-11