【问题标题】:How to export a MySQL database (data folder) from an hard disk?如何从硬盘导出 MySQL 数据库(数据文件夹)?
【发布时间】:2011-11-23 11:55:18
【问题描述】:

我知道,仅仅通过复制数据文件夹来导出数据库真的很可悲!但是我有一个硬盘,里面有一个重要的数据库,我不知道如何将这个数据库导出到我的实际系统(winxp - mysql 5.0.37)。

所以,我已将 old_harddisk/program/mysql/data/coge2010 复制到 mypc/programs/mysql/data/coge2010

结果:

  • 我在我的 phpMyAdmin 数据库摘要中看到了 cogemilla (4)(它是正确的!!!我的 4 个表!)
  • 如果我单击数据库,我只会看到 1 个表(哦不!)
  • 在 mysql 错误日志文件中,我找到类似这样的消息:"...[ERROR] 尽管表的 .frm 文件存在,但无法从 InnoDB 的内部数据字典中找到表 coge2010/soci。也许您删除并重新创建了 InnoDB 数据文件,但忘记删除 InnoDB 表的相应 .frm 文件,或者您已将 .frm 文件移动到另一个数据库?请参阅http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html 如何解决问题。"

有什么想法吗?

【问题讨论】:

  • 尝试单独重新创建架构。由于架构不可用,这可能是一个错误。

标签: mysql export restore


【解决方案1】:

您应该创建一个转储并将其导入新服务器。

在命令提示符中键入以下内容以创建转储文件:

mysqldump -h host -u user -p databaseName > dumpFile.sql

导入数据库:

mysql -h host -u user -p databaseName < dumpFile.sql

【讨论】:

  • 数据库在旧笔记本电脑硬盘上(笔记本电脑坏了)
【解决方案2】:

您只能在以下情况下复制 InnoDB 表: 1.您的数据库已停止。 2.你复制所有的InnoDB文件(ibdata* ib_logfile* /*.ibd

您可以使用转储/恢复来复制单个表。

您可以使用“ALTER TABLE sometable ENGINE=MyISAM”将其转换为 MyISAM,然后复制 MYI、MYD 和 FRM。

如果您使用 Percona Server,Percona XtraBackup 可以进行单表恢复。

【讨论】:

    【解决方案3】:

    This post 可以帮到你。

    Another post 可以帮到你。

    一个 mysql 表由 3 个文件 (FRM/MYD/MYI) 定义。在您的情况下,数据库文件夹中缺少 FRM 文件。

    如果您可以运行旧硬盘的 mysql 服务器,则更容易转储您的数据库。 The following link 告诉你如何做到这一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-27
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-04
      • 2013-09-19
      • 2012-08-04
      相关资源
      最近更新 更多