ibd2sql:将MySQL ibd文件轻松转换为SQL数据
2026-02-06 05:06:49作者:钟日瑜
项目介绍
ibd2sql是一个功能强大的开源工具,专门用于将MySQL INNODB存储引擎的ibd文件转换为标准的SQL数据格式。该项目采用纯Python3编写,无需任何第三方依赖库,使用GPL-3.0开源协议,为数据库管理员和数据恢复工程师提供了极大的便利。
项目技术分析
ibd2sql的核心技术在于其离线解析能力,能够直接读取MySQL的ibd文件并生成相应的SQL语句。该工具支持所有MySQL数据类型,包括复杂的表结构如分区表、注释、主键、外键、约束、自增字段、各种索引类型等。同时支持INSTANT DDL操作和无主键表的处理。
项目及技术应用场景
该工具在以下场景中具有重要价值:
- 数据恢复:当数据库文件损坏或意外删除时,ibd2sql能够从ibd文件中恢复重要数据
- 数据库迁移:简化不同MySQL版本或服务器之间的数据迁移过程
- 数据备份:提供额外的数据备份手段,确保数据安全性
- 数据分析:获取生产环境数据的快照进行分析,不影响实际业务运行
项目特点
- 安全性高:只需对ibd文件具有读取权限,完全离线操作
- 兼容性强:支持MySQL 5.6至9.0的所有版本
- 功能全面:支持所有MySQL数据类型和复杂表结构
- 恢复能力强:可输出被标记为deleted的数据,支持drop table的恢复
- 性能优异:最新版本性能提升超过20%
- 使用简便:纯Python实现,无第三方依赖
下载与使用
下载方式
wget https://gitcode.com/gh_mirrors/ib/ibd2sql/-/archive/main/ibd2sql-main.zip
unzip ibd2sql-main.zip
cd ibd2sql-main
基本使用方法
Linux环境:
python3 main.py /path/to/your_table.ibd --sql --ddl
Windows环境:
python main.py F:\path\to\your_table.ibd --sql --ddl
Web控制台查看:
python3 ibd2sql_web.py /path/to/your_table.ibd
# 然后访问 http://your_ip:8080 查看数据结构
高级功能
- 使用
--schema参数替换数据库名 - 使用
--table参数替换表名 - 使用
--complete参数在SQL语句中输出完整字段信息 - 使用
--force参数跳过坏块遍历整个数据文件
版本更新
ibd2sql持续更新迭代,最新版本v1.12在修复已知BUG的同时,性能提升了20%。项目支持MySQL 5.x、8.x和9.x版本,具备强大的兼容性和稳定性。
推荐使用
对于数据库管理员、开发者和数据恢复工程师来说,ibd2sql是一个不可或缺的工具。它不仅能够提高工作效率,还能在紧急情况下挽救宝贵的数据。无论是日常的数据管理任务还是紧急的数据恢复场景,ibd2sql都能提供可靠的技术支持。
通过简单的命令行操作,您就可以开始使用这个强大的工具来处理MySQL数据库文件,享受高效便捷的数据处理体验。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0101- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
MiMo-V2.5-ProMiMo-V2.5-Pro作为旗舰模型,擅⻓处理复杂Agent任务,单次任务可完成近千次⼯具调⽤与⼗余轮上 下⽂压缩。Python00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
Kimi-K2.6Kimi K2.6 是一款开源的原生多模态智能体模型,在长程编码、编码驱动设计、主动自主执行以及群体任务编排等实用能力方面实现了显著提升。Python00
MiniMax-M2.7MiniMax-M2.7 是我们首个深度参与自身进化过程的模型。M2.7 具备构建复杂智能体应用框架的能力,能够借助智能体团队、复杂技能以及动态工具搜索,完成高度精细的生产力任务。Python00
项目优选
收起
暂无描述
Dockerfile
710
4.51 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
596
101
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.61 K
947
deepin linux kernel
C
28
16
Ascend Extension for PyTorch
Python
573
694
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
416
341
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
959
955
昇腾LLM分布式训练框架
Python
152
177
基于服务器管理南向接口技术要求实现的部件驱动库。Hardware component drivers framework with unified management interface
C++
15
77
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
1.43 K
116