最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL數(shù)據(jù)恢復(fù)工具:ibd2sql離線解析.ibd文件轉(zhuǎn)換為SQL

 更新時間:2025年06月21日 15:25:50   作者:學(xué)亮編程手記  
ibd2sql是純Python3工具,用于離線解析MySQL?InnoDB?IBD文件生成SQL語句,支持多版本和復(fù)雜結(jié)構(gòu),可恢復(fù)誤刪數(shù)據(jù),優(yōu)點(diǎn)包括無依賴、靈活輸出,但存在性能慢、數(shù)據(jù)完整性風(fēng)險及資源消耗大的缺點(diǎn),適用于數(shù)據(jù)恢復(fù)、遷移和審計場景

ibd2sql工具可能是您的救命稻草。這是一款能將離線ibd文件轉(zhuǎn)換為SQL語句的神器,可以幫助恢復(fù)寶貴的數(shù)據(jù)。

ibd2sql 是一個使用純 Python 3 編寫的工具,用于離線解析 MySQL InnoDB 存儲引擎的 IBD 文件,并將其轉(zhuǎn)換為 SQL 語句。該工具無需任何第三方依賴包,使用 GPL-3.0 許可證發(fā)布。

ibd2sql優(yōu)點(diǎn)

  1. 方便: 提取表的 DDL(數(shù)據(jù)定義語言)。
  2. 實用: 支持替換庫名(–schema)和表名(–table),可以在 SQL 語句中輸出完整的字段(–complete)。
  3. 簡單: 純 Python 3 代碼編寫,無依賴包。
  4. 支持眾多數(shù)據(jù)類型: 支持所有 MySQL 數(shù)據(jù)類型。
  5. 支持復(fù)雜的表結(jié)構(gòu): 支持分區(qū)表、注釋、主鍵、外鍵、約束、自增、普通索引、前綴索引、主鍵前綴索引、唯一索引、復(fù)合索引、默認(rèn)值、符號、虛擬字段、INSTANT、無主鍵等情況的表。
  6. 數(shù)據(jù)誤刪恢復(fù): 可以輸出被標(biāo)記為已刪除的數(shù)據(jù)。
  7. 安全: 離線解析 IBD 文件,僅需讀取權(quán)限。
  8. IBD文件強(qiáng)制解析:IBD文件如果損壞,可以恢復(fù)部分?jǐn)?shù)據(jù)。
  9. 支持范圍廣: 支持 MySQL 5.6、5.7、8.0、8.4、9.0。

ibd2sql缺點(diǎn)

  1. 性能: 對于大型表,解析和生成 SQL 語句的過程可能較慢。
  2. 數(shù)據(jù)完整性: 如果 IBD 文件本身已經(jīng)嚴(yán)重?fù)p壞,恢復(fù)的數(shù)據(jù)可能不完整。
  3. 資源消耗: 生成的 SQL 文件可能較大,需要足夠的磁盤空間和內(nèi)存。

ibd2sql參數(shù)說明

--version, -v, -V: 顯示版本信息。
--ddl, -d: 打印 DDL。
--sql: 打印數(shù)據(jù)的 SQL 語句。
--delete: 僅打印被標(biāo)記為已刪除的數(shù)據(jù)。
--complete-insert: 使用完整的插入語句。
--force, -f: 在遇到錯誤頁面時強(qiáng)制解析文件。
--set: 用實際數(shù)據(jù)填充 set/enum 而不是字符串。
--multi-value: 如果數(shù)據(jù)屬于同一頁面,則使用單個 SQL 語句。
--replace: 使用 "REPLACE INTO" 替換 "INSERT INTO"(默認(rèn))。
--table TABLE_NAME: 替換表名(不包括 DDL)。
--schema SCHEMA_NAME: 替換庫名(不包括 DDL)。
--sdi-table SDI_TABLE: 從這個 IBD 文件(分區(qū)表)讀取 SDI 頁面。
--where-trx WHERE_TRX: 事務(wù)過濾范圍,默認(rèn) (0,281474976710656)。
--where-rollptr WHERE_ROLLPTR: 回滾指針過濾范圍,默認(rèn) (0,72057594037927936)。
--limit LIMIT: 限制行數(shù)。
--debug, -D: 調(diào)試模式(輸出非常大)。
--debug-file DEBUG_FILE: 調(diào)試輸出文件,默認(rèn)為 sys.stdout。
--page-min PAGE_MIN: 如果頁面編號小于此值,則終止。
--page-max PAGE_MAX: 如果頁面編號大于此值,則終止。
--page-start PAGE_START: 索引頁面起始編號。
--page-count PAGE_COUNT: 頁面計數(shù)編號。
--page-skip PAGE_SKIP: 解析索引頁面時跳過某些頁面。
--mysql5: 適用于 MySQL 5.7 標(biāo)志。

環(huán)境依賴python3

tar xvf Python-3.6.1.tgz
cd Python-3.6.1
mkdir -p /usr/local/python3
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/python3/bin/python3 /usr/bin/python3

安裝ibd2sql

[root@idc opt]# wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zip[root@idc opt]# unzip main.zip[root@idc opt]# cd ibd2sql-main

解析ibd文件

[root@idc ibd2sql-main]# cp /jesong/mysql/qaqdb/inner_announcement.ibd  /opt/ibd2sql-main/

[root@idc-mongo55 ibd2sql-main]# python3 main.py ./inner_announcement.ibd --sql --ddl

使用示例

##僅打印被標(biāo)記為已刪除的數(shù)據(jù)
python3 main.py /jesong/mysql/qaqdb/el_inner_announcement.ibd --sql --ddl --delete
##使用完整的插入語句
python3 main.py /jesong/mysql/qaqdb/el_inner_announcement.ibd --sql --ddl --delete --complete-insert
##在遇到錯誤頁面時強(qiáng)制解析文件
python3 main.py /jesong/mysql/qaqdb/el_inner_announcement.ibd --sql --ddl --force
##替換表名
python3 main.py /jesong/mysql/qaqdb/el_inner_announcement.ibd --sql --ddl --complete-insert --table xxbox
##數(shù)據(jù)屬于同一頁面,則使用單個 SQL 語句(合并insert)
python3 main.py /jesong/mysql/qaqdb/el_inner_announcement.ibd --sql --ddl --complete-insert --table xxbox --multi-value

總結(jié)

ibd2sql 是一個強(qiáng)大的工具,適用于多種 MySQL 數(shù)據(jù)管理和恢復(fù)場景。它的無依賴包、廣泛支持的 MySQL 版本和靈活的輸出選項使其成為處理 IBD 文件的有力工具。然而,對于大型表和嚴(yán)重?fù)p壞的 IBD 文件,使用時需要注意性能和數(shù)據(jù)完整性問題??傮w來說,ibd2sql 是一個值得推薦的工具,特別適合數(shù)據(jù)恢復(fù)、遷移和審計等任務(wù)。

到此這篇關(guān)于MySQL數(shù)據(jù)恢復(fù)工具:ibd2sql離線解析.ibd文件轉(zhuǎn)換為SQL的文章就介紹到這了,更多相關(guān)MySQL數(shù)據(jù)恢復(fù)工具ibd2sql解析.ibd文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL如何恢復(fù)單庫或單表,以及可能遇到的坑

    MySQL如何恢復(fù)單庫或單表,以及可能遇到的坑

    這篇文章主要介紹了MySQL如何恢復(fù)單庫或單表,以及可能遇到的坑,幫助大家更好的備份數(shù)據(jù)庫,保護(hù)數(shù)據(jù)安全,感興趣的朋友可以了解下
    2020-09-09
  • MySQL觸發(fā)器的使用

    MySQL觸發(fā)器的使用

    觸發(fā)器用于在 MySQL 執(zhí)行插入、更新或刪除語句時,自動觸發(fā)執(zhí)行其他SQL代碼。本文講解觸發(fā)器的正確使用方式
    2021-05-05
  • 新建一個MySQL數(shù)據(jù)庫的簡單教程

    新建一個MySQL數(shù)據(jù)庫的簡單教程

    這篇文章主要介紹了新建一個MySQL數(shù)據(jù)庫的簡單教程,是MySQL入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • idea連接mysql數(shù)據(jù)庫失敗的幾種解決方案

    idea連接mysql數(shù)據(jù)庫失敗的幾種解決方案

    我們在學(xué)習(xí)Mybatis時需要連接Mysql數(shù)據(jù)庫,使用IDEA無法連接mysql數(shù)據(jù)庫,下面這篇文章主要給大家介紹了關(guān)于idea連接mysql數(shù)據(jù)庫失敗的幾種解決方案,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • 詳解MySQL拼接函數(shù)CONCAT的使用心得

    詳解MySQL拼接函數(shù)CONCAT的使用心得

    這篇文章主要介紹了詳解MySQL拼接函數(shù)CONCAT的使用心得,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • MySQL之存儲引擎使用及說明

    MySQL之存儲引擎使用及說明

    這篇文章主要介紹了MySQL之存儲引擎使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • MySql修改數(shù)據(jù)庫編碼為UTF8避免造成亂碼問題

    MySql修改數(shù)據(jù)庫編碼為UTF8避免造成亂碼問題

    mysql 創(chuàng)建數(shù)據(jù)庫時指定編碼很重要,很多開發(fā)者都使用了默認(rèn)編碼,亂碼問題可是防不勝防,下面與大家分享下通過修改數(shù)據(jù)庫默認(rèn)編碼方式為UTF8來減少數(shù)據(jù)庫創(chuàng)建時的設(shè)置,避免因粗心造成的亂碼問題
    2013-06-06
  • sql中with?as用法以及with-as性能調(diào)優(yōu)/with用法舉例

    sql中with?as用法以及with-as性能調(diào)優(yōu)/with用法舉例

    SQL中的WITH?AS語法是一種強(qiáng)大的工具,可以簡化復(fù)雜查詢的編寫,提高查詢的可讀性和維護(hù)性,這篇文章主要給大家介紹了關(guān)于sql中with?as用法以及with-as性能調(diào)優(yōu)/with用法的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 使用JS+HTML/CSS實現(xiàn)虛擬滾動和分頁加載效果

    使用JS+HTML/CSS實現(xiàn)虛擬滾動和分頁加載效果

    虛擬滾動和分頁加載是一種優(yōu)化大型數(shù)據(jù)集的常見技術(shù),用于在Web應(yīng)用程序中提高性能和用戶體驗,在本文中,我將演示如何使用JavaScript和HTML/CSS來實現(xiàn)虛擬滾動和分頁加載,同時提供示例代碼和詳細(xì)解釋,需要的朋友可以參考下
    2023-10-10
  • MySQL優(yōu)化之對RAND()的優(yōu)化方法

    MySQL優(yōu)化之對RAND()的優(yōu)化方法

    這篇文章主要介紹了MySQL優(yōu)化之對RAND()的優(yōu)化方法,本文詳細(xì)分析了Mysql中對RAND()的幾種優(yōu)化方法,并最終得出一個結(jié)論,需要的朋友可以參考下
    2014-07-07

最新評論

丹棱县| 文化| 灵川县| 敦煌市| 建瓯市| 舟曲县| 多伦县| 普洱| 大新县| 离岛区| 元阳县| 汕尾市| 安吉县| 临夏县| 汝南县| 尚义县| 祁连县| 太原市| 福泉市| 横峰县| 文水县| 广平县| 青浦区| 大宁县| 凯里市| 商都县| 瑞昌市| 晋城| 沙坪坝区| 扎赉特旗| 从化市| 莫力| 新野县| 上饶县| 凤山市| 海晏县| 克东县| 泽库县| 泾源县| 礼泉县| 改则县|