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-insert insert语句包含列名字
–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

数字类型

类型 大小(字节) 有无符号 备注
tinyint 1 bytes 可选
smallint 2 bytes 可选
mediumint 3 bytes 可选
int 4 bytes 可选
bigint 8 bytes 可选
float§ 4 bytes if p is None,
4 bytes if 0

相关推荐

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

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

回到顶部