2011-09-23 63 views
1

我知道,试图通过复制数据文件夹来导出数据库真的很难过!但我有一个重要的数据库里面的硬盘,我不知道如何将此数据库导出到我的实际系统(winxp - mysql 5.0.37)。如何从硬盘导出MySQL数据库(数据文件夹)?

所以,我复制old_harddisk /程序/ MySQL的/数据/ coge2010到MYPC /程序/ MySQL的/数据/ coge2010

结果:

  • 我看到cogemilla(4)我的phpMyAdmin的数据库汇总(这是正确的!我的4个表!)
  • 如果我点击数据库,我看到的只是1台
  • 上的MySQL错误日志文件,我觉得像这样的消息(哦不!):“ ... [错误]无法从内部数据字典中找到表coge2010/soci尽管InnoDB的.frm文件存在,但仍存在。也许您已经删除并重新创建了InnoDB数据文件,但忘记删除InnoDB表的相应.frm文件,或者您已将.frm文件移动到另一个数据库?见http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html你如何解决这个问题。”

任何想法?

+0

尝试单独重建的模式。这可能是因为模式不可用的错误 – Kris

回答

2

你应该创建转储并导入新的服务器上。

在命令提示符处键入以下命令来创建转储文件:

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

导入数据库:

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

该数据库位于旧笔记本电脑的硬盘上(笔记本电脑已经死机) –

0

This post可能对您有所帮助。

Another post哪些可以帮到你。

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

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

0

你只能复制InnoDB表,如果: 1.您的数据库已停止。 2.复制所有的InnoDB文件(ibdata * ib_logfile * /*.ibd

你可以使用dump /恢复复制一个表。

你可以用户 'ALTER TABLE sometable ENGINE = MyISAM的' 转换它的MyISAM,然后复制MYI,MYD和FRM。

的Percona XtraBackup能做到单台还原如果你使用的Percona Server中。

相关问题