ibd2sql v0.2版本 解析ibd文件为SQL

v0.2 版本主要是支持更多的数据类型了(上一版:https://www.modb.pro/db/626066)

项目地址: https://github.com/ddcw/ibd2sql
下载地址: https://github.com/ddcw/ibd2sql/releases/download/v0.2/ibd2sql_0.2_linux_x86_64.tar.gz

介绍

解析mysql8.0的数据文件, 并生成相关SQL.

功能

选项说明备注
–sql打印解析出来的数据的insert语句
–ddl打印相关DDL
–data打印解析出来的数据的LIST格式
–delete打印被标记为deleted的数据全看运气
–complete-insertinsert语句包含列名字
–table-name替换insert语句的表名不含DDL的,这是特性,不是BUG -_-
-h打印帮助信息
-f对于包含有限支持和不支持的数据类型强制解析我也不知道会发生啥…

使用方法

推荐使用源码, 毕竟没得依赖

查看DDL

python main.py --ddl /data/mysql_3314/mysqldata/db1/t20230830.ibd

查看数据(INSERT)

python main.py --sql /data/mysql_3314/mysqldata/db1/t20230830.ibd

查看数据(含列名)

对于某些数据库,可能需要列名字(比如某些分布式数据库)

python main.py --sql --complete-insert /data/mysql_3314/mysqldata/db1/t20230830.ibd

查看数据(LIST)

python main.py --data /data/mysql_3314/mysqldata/db1/t20230830.ibd

查看被标记为deleted的数据

python main.py --delete /data/mysql_3314/mysqldata/db1/t20230830.ibd

支持

支持几乎所有mysql 8.0的数据类型(除了json). 对lob对象也是有限支持.

支持 大部分表/字段属性

DDL支持

对象是否支持备注
IF NOT EXISTS支持默认都是这个
自增支持
默认值支持
字段和表的注释支持
索引支持主键索引, 普通索引
外键支持
约束支持
存储引擎支持只支持innodb
分区不支持不支持

支持的数据类型

参考:https://dev.mysql.com/doc/refman/8.0/en/storage-requirements.html

数字类型

类型大小(字节)有无符号备注
tinyint1 bytes可选
smallint2 bytes可选
mediumint3 bytes可选
int4 bytes可选
bigint8 bytes可选
float§4 bytes if p is None,
4 bytes if 0

相关推荐

站点声明:本站部分内容转载自网络,作品版权归原作者及来源网站所有,任何内容转载、商业用途等均须联系原作者并注明来源。

相关侵权、举报、投诉及建议等,请发邮件至E-mail:service@mryunwei.com

回到顶部