GreatSQL社区

搜索

[已解决] mysql 8咋从ibd文件中提取表的DDL语句呢?有啥好工具吗

461 2 2023-9-15 16:34
mysql 8咋从ibd文件中提取表的DDL语句呢?有啥好工具吗

目前试过官方的工具,但是易读性非常差,json的,不是方便DBA快速建表,需要去分析。且自增长和前缀索引无法判断。
github上的https://github.com/ddcw/ibd2sql也测试过,均存在相同的问题。
大部分github的工具都是基于官方的工具,使用python等语言获取DDL语句
寻求一个方法或者工具能从ibd文件中获得完整且正确的建表DDL语句。
比如:

[root@rhel9 ibd2sql-main]# python3 main.py --ddl /root/t1.ibd

CREATE Table IF NOT EXISTS `db01`.`t1`(
`id` int NOT NULL ,
`name` varchar(20) NOT NULL ,
`rq` datetime DEFAULT NULL DEFAULT CURRENT_TIMESTAMP ,
PRIMARY KEY (`id`),
KEY `idx_name` (`name`),
KEY `idx_dt` (`rq`)
)ENGINE=InnoDB ;


实际的

mysql> show create table t1\G
*************************** 1. row ***************************
       Table: t1
Create Table: CREATE TABLE `t1` (
  `id` int NOT NULL,
  `name` varchar(20) NOT NULL,
  `rq` datetime DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_name` (`name`(10)),
  KEY `idx_dt` (`rq`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)


全部回复(2)
yejr 2023-9-15 16:37:38
用自带的工具ibd2sdi就可以的
kingzhesi 2023-9-18 15:37:31
yejr 发表于 2023-9-15 16:37
用自带的工具ibd2sdi就可以的

提问者说的官方工具应该就是ibd2sdi,用这个工具需要自己去分析
365db

3

主题

0

博客

27

贡献

新手上路

Rank: 1

积分
36

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-5-8 08:26 , Processed in 0.014805 second(s), 10 queries , Redis On.
快速回复 返回顶部 返回列表