【问题标题】:retrieve MySQL table schema from .frm files to create SQL script从 .frm 文件中检索 MySQL 表模式以创建 SQL 脚本
【发布时间】:2013-07-25 11:38:00
【问题描述】:

我最近从我的供应商那里收到了一个 MySQL 数据库(其合同现已结束),并按照他们的说明在 localhost 上设置 PHP 和 MySQL,但是使用 phpMyAdmin 界面我只能看到一些可见的表数据库目录。

我注意到我能够在 phpMyAdmin 中看到(和查询)的那些表实际上具有所有 3 种文件类型(.frm .MYD .MYI),但“缺失”的只有一种类型(.frm)。

如何使用 .frm 文件(它是架构)来创建允许我重新生成完整表的 SQL 脚本?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    您实际上无法从 .frm 文件中恢复数据,但是从这些文件中获取表定义是没有问题的。执行以下操作:

    1. 创建一个与 .frm 文件同名的新表(例如 yada.frm 将成为 yada 表)
    2. 停止你的 mysql 守护进程
    3. 将旧的旧 .frm 文件复制到存储新 .frm 的位置
    4. 重启你的mysql守护进程
    5. 您现在应该能够通过SHOW CREATE TABLE yada 获取表定义

    【讨论】:

    • 除此之外,应该注意这只会得到表结构。如果您只有.frm 文件,您将没有来自缺失表的任何数据。当然也有可能一开始就没有数据。
    • 嘿,感谢您提供如此简单的解决方案。我已经对此进行了测试并成功恢复了我所有的表定义。非常感谢!
    猜你喜欢
    • 2013-05-07
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 1970-01-01
    • 1970-01-01
    • 2010-09-08
    • 2016-06-14
    • 1970-01-01
    相关资源
    最近更新 更多