通過ibd文件恢復MySql數據的操作方法
今天干了一件大事,安裝1Panel導致原來服務器上的所有容器都干沒了,主要是MySQL。今天就介紹一下恢復數據的過程,只有.ibd文件怎么恢復MySql
MySql版本8.8.4
第一種情況:知道表結構
知道表結構的話恢復數據比較簡單
1、創(chuàng)建數據庫
2、建表,要求就是跟原來的表結構一樣
3、將你的.ibd文件直接拷貝到當前數據庫的data目錄下
4、重啟MySql
重啟成功就結束了
第二種情況:不知道表結構
這種情況下就需要借助額外的工具來恢復數據
1、安裝 python3 執(zhí)行下面這個命令安裝
yum install -y python3
2、安裝ibd2sql這個工具
#下載壓縮包 wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zip #解壓 unzip main.zip
3、進入 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í)行完畢后就會出現對應的sql腳本,最后直接在執(zhí)行一下這個sql腳本就能把表結構和數據都找回來了,這種方式是通過執(zhí)行sql腳本重新創(chuàng)建表和插入數據
當然也可以先執(zhí)行--ddl 找回表結構
python3 main.py /opt/1panel/apps/mysql/mysql/data/ry@002dvue/sj_job.ibd --ddl
然后在新的數據庫中執(zhí)行create語句把表建好,最后再把你的.ibd文件目錄拷貝到新的數據庫的data目錄下,最后重啟MySQL,重啟成功的話 數據就都找回來了,要是重啟失敗的話就只能執(zhí)行--ddl和--sql找回數據了
總結
總之兄弟們,操作數據庫的時候最好還是備份一下,一不小心整個庫都沒了,太嚇人了,還有就是如果有兄弟安裝1Panel,先確保服務器上沒有其他的docker容器,不然的話安裝1Panel時會將服務器上原來的docker容器和鏡像全部都給清了,所以在安裝1Panel的時候先做好備份,或者說一開始服務器上沒有docker的時候安裝1Panel
到此這篇關于如何通過ibd文件恢復MySql數據的文章就介紹到這了,更多相關MySql ibd文件恢復內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySql?字符集不同導致?left?join?慢查詢的問題解決
當兩個表的字符集不一樣,在使用字符型字段進行表連接查詢時,就需要特別注意下查詢耗時是否符合預期,本文主要介紹了MySql?字符集不同導致?left?join?慢查詢的問題解決,感興趣的可以了解一下2024-05-05MySQL?SQL性能分析之慢查詢日志、explain使用詳解
這篇文章主要介紹了MySQL?SQL性能分析?慢查詢日志、explain使用,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04深入淺析MySQL 中 Identifier Case Sensitivity問題
這篇文章主要介紹了MySQL 中 Identifier Case Sensitivity,需要的朋友可以參考下2018-09-09