千家信息网

mysql从frm文件恢复table表结构的方法有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要为大家展示了"mysql从frm文件恢复table表结构的方法有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"mysql从frm文件恢复t
千家信息网最后更新 2026年11月02日mysql从frm文件恢复table表结构的方法有哪些

这篇文章主要为大家展示了"mysql从frm文件恢复table表结构的方法有哪些",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"mysql从frm文件恢复table表结构的方法有哪些"这篇文章吧。

mysql 正常运行的时候,查看 table 的结构并不是困难的事。

但是有时 mysql 发生故障,这种方法便不再可行。

当遇到故障,通常使用新的 mysql 实例来恢复当前的数据。

建表是非常重要的步骤,我们必须有其它的方法来寻找 table 的结构。

table 结构定义在哪里

通常关注的用户数据,底层都实际存储在 mysql 数据目录。
其它的元数据也不例外,比如 table 表结构的定义。

mysql 数据目录文件结构是非常清晰的,

•目录对应数据库
•frm 文件存储了 table 结构的定义
•ibdata 文件存储了 mysql 的元数据及其它

table 定义的结构,就存在于 frm 文件中,当然管理元数据的 ibdata 也会有记录。

当存在 frm 文件的时候,恢复表结构相对容易;
但是如果执行了 drop table,便删除了 frm 文件,本文所提供的方法就爱莫能助了。
这种情况下,可以尝试从 ibdata 恢复表结构,这暂时不在下面的讨论范围内。

解析 table 结构

下面介绍 3 种方式,从 frm 文件中,解析得到 create table 命令。

mysqlfrm

mysqlfrm 是 mysql utilities 工具集 中的其中之一,
用于分析 frm 文件生成 create table 命令。
目前已经不再更新,部分功能并入了新版本的 mysql shell(version 8 及以后)。

mysql utilities 需要 python2 环境,安装非常简单。

$ tar -xvzf mysql-utilities-1.6.5.tar.gz$ cd mysql-utilities-1.6.5$ python setup.py build$ python setup.py install

mysqlfrm 支持两类模式来解读 frm:

直接分析

这种模式比较直接,逐个字节分析 frm 文件,尽可能的提取信息。

这种模式下,需要使用 --diagnostic 参数。

$ mysqlfrm --diagnostic /data/sakila/actor.frm

借助 mysql 实例分析

这种模式,借助新的 mysql 实例,从中完成 frm 的分析工作。
可以用两种方式来指定,如何开启新的 mysql 实例。

一,从当前的 mysql 服务中 spawn,使用 --server 指定 mysql 服务

$ mysqlfrm --server=root:pass@localhost:3306 --port=3310 /data/sakila/actor.frm

二,启动新的 mysql 实例,使用 --basedir 指定 mysql 程序路径

$ mysqlfrm --basedir=/usr/local/bin/mysql --port=3310 /data/sakila/actor.frm

--port 给新的实例指定端口,是为了避免与当前的 3306 端口出现冲突。

dbsake

这是偶然发现的一个工具,文档中它这样介绍自己:

dbsake - a (s)wiss-(a)rmy-(k)nif(e) for MySQL

作者一定是一个对 mysql 很有心得的人,工具从下载,安装到使用,简单,利落。

$ curl -s get.dbsake.net > dbsake$ chmod u+x dbsake$ ./dbsake frmdump [frm-file-path]

online service

有一些在线的服务,也关注这样的问题。
使用过的twindb online,体验非常好,相关的工具集也很棒。

从 Recover Structure -> from .frm file 入口,上传 frm,就可以得到 create table 命令。

以上是"mysql从frm文件恢复table表结构的方法有哪些"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

结构 文件 数据 方法 实例 分析 工具 模式 内容 命令 目录 篇文章 存储 服务 故障 方式 时候 端口 工具集 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网金融科技 互联网科技保险 朗新科技与工业互联网 互联网 的科技创新 唐信互联网科技 科技互联网公司logo 互联网科技公司有哪些 太原新华互联网科技学校怎么样 华中科技有哪些互联网大佬 互联网大会黑科技排名 栖莱科技互联网股份有限公司 洛阳昕诺飞互联网科技有限公司 科技大学互联网 富国互联网金融科技混合基金 江苏互联网智能科技产品出厂价 北京天晋互联网科技有限公司 科技和互联网行业的特点 互联网科技对化妆品行业 北京瑞云互联网科技有限公司 互联网科技有限公司经营范围 港股互联网科技股 深圳市运趣互联网科技有限公司 西藏七维空间互联网科技有限公司 互联网企业和科技型企业 新兴科技互联网创新大赛颁奖典礼 天津腾达互联网科技有限公司 众安科技工业互联网合作 互联网科技资金流入 云鲸互联网络科技有限公司
0