【问题标题】:Where are my .myd, .myi and .frm files from my mysql database我的 mysql 数据库中的 .myd、.myi 和 .frm 文件在哪里
【发布时间】:2016-05-19 23:48:27
【问题描述】:

我是这里的初学者,我似乎找不到文件。我的教授希望我专门将这些文件发送给她,但是当我从工作台“导出数据”时,它只生成 .sql 文件。我在哪里可以获得她正在寻找的 .myd、.myi 和 .frm 文件。

谢谢

【问题讨论】:

  • 为什么?她应该要求 .sql 转储。这是一个非常奇怪的要求。她甚至不应该假设您使用 MyISAM 作为表格格式,这是这些文件扩展名所暗示的。
  • 是的,它是..这是作业中的引述。 Submit your entire project directory and database files as one zip file below. (Note: your MySQL tables are stored on your machine in files with extensions .frm, .myd, .myi - see: http://dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html )我查看了她引用的网站,但没有运气
  • 作业的具体内容是什么?
  • @EJP 为了我自己的理智,我假设这是一门关于 1990 年代后期如何使用数据库的课程。
  • 这是一门网络编程课程。第一部分是 PHP,第二部分是 ASP.NET。与 ASP 相比,PHP 似乎是从 1990 年代后期开始的

标签: mysql mysql-workbench frm


【解决方案1】:

不用担心这些。这就是 MySQL 在内部存储数据的方式。如果您仔细阅读文档,您很快就会知道无论如何都不应该依赖这些文件进行备份,如果服务器正在运行,它们可能会处于不一致的状态。

为中小型数据库进行备份的最佳方法是使用mysqldump 命令。有许多选项可以应用,但在繁忙的数据库中最重要的是 --single-transaction,它会生成一致的时间点快照。

从中获得的 SQL 数据可以保存到 .sql 文件中,足以重新创建数据库并且是备份。

您可以使用mysql 命令行工具进行恢复,或者如果您对此不满意,可以使用MySQL Workbench program

【讨论】:

  • 谢谢,我通过搜索收集到了这一点,但是教授明确表示她想要这些文件......有什么线索可以在我的 Mac 上找到它们吗?
  • 你的教授要求一些非常奇怪的东西。它们的位置取决于您安装 MySQL 的方式、配置方式以及许多其他因素。此外,使用 InnoDB,您甚至可能没有太多数据,有一个主数据库文件包含大量数据。
  • 这是作业中的引述。 Submit your entire project directory and database files as one zip file below. (Note: your MySQL tables are stored on your machine in files with extensions .frm, .myd, .myi - see: http://dev.mysql.com/doc/refman/5.0/en/myisam-storage-engine.html )我查看了她引用的网站,但没有运气
  • 从专业上讲,我很失望教授会推荐任何人使用 MyISAM,它以在负载下很糟糕而闻名,当数据库服务器崩溃时极易完全破坏,并且仅作为引擎包含在内出于向后兼容的目的。 InnoDB 是事实上的方式。如果您希望通过您的课程,实用的解决方案是使用 SHOW VARIABLES LIKE 'datadir' 查询,以查看您的数据存储在哪里、存档、发送并继续。
  • 在 usr 文件夹中找到它。这是 Mac 上的一个隐藏文件夹,这就是为什么它没有出现在聚光灯搜索中的原因:/ 感谢您的帮助!
【解决方案2】:

文件名中带有MySQL的目录下有一个data目录,data下是你自己的数据库目录。文件在里面。但是如果你没有使用 MyISAM 作为表格格式,文件会有不同的扩展名,例如.idb 用于 InnoDB。

您可以通过@tadman 评论中提到的查询或从 shell 中找到它:

find / -name data -print

虽然你可能会得到很多匹配。

您必须先停止 MySQL 服务器,然后才能复制文件。

【讨论】:

  • 如果服务器没有运行或由于某种原因无法启动,这很有用。如果配置已更改,您也可以查看/etc/my.cnf,或者像这样蛮力找到它。
  • 找到了!感谢您的帮助。它位于隐藏在 Mac 中的 usr 文件夹中,因此不会出现在常规搜索中
猜你喜欢
  • 2012-03-12
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
  • 2014-08-13
  • 1970-01-01
  • 2020-08-06
  • 2014-05-05
相关资源
最近更新 更多