MySQL8取消frm文件,如何查看获取表结构信息

在MySQL8中,使用`ibd2sdi`命令配合`jq`工具可以查看和获取表结构信息。例如,通过`/opt/mysql_templates/mysql-8P/bin/./ibd2sdi /opt/mysql_instances/master8/data/mysql.ibd |jq '.[]?|.[]?|.dd_object?|(...)'`命令,能够提取出包括表名、列名及列类型等详细信息。
摘要由CSDN通过智能技术生成
MySQL8开始删除了原来的frm文件,并采用 Serialized Dictionary Information (SDI), 是MySQL8.0重新设计数据词典后引入的新产物,并开始已经统一使用InnoDB存储引擎来存储表的元数据信息。SDI信息源记录保存在ibd文件中。
如何可以查看表结构信息,官方提供了一个工具叫做ibd2sdi,在安装目录下可以找到,可以离线的将ibd文件中的冗余存储的sdi信息提取出来,并以json的格式输出到终端。
用法示例:

/opt/mysql_templates/mysql-8P/bin/./ibd2sdi /opt/mysql_instances/master8/data/ibdata1 |jq ‘.’
具体bin路径因不同系统有不同位置,请自行确认。
以下命令为直接提取关于表信息的用法,提取后可用户创建表
/opt/mysql_templates/mysql-8P/bin/./ibd2sdi /opt/mysql_instances/master8/data/mysql.ibd |jq '.[]?|.[]?|.dd_object?|("------------------------------------"?,"TABLE NAME = ",.name?,“",(.columns?|.[]?|(.name?,.column_type_utf8?)))’
提取结果如下:
“------------------------------------”
"TABLE NAME = "
“tables”
"

“id”
“bigint(20) unsigned”
“schema_id”
“bigint(20) unsigned”
“name”

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值