MySQL:如何从以前保存的数据目录副本恢复?

MySQL:如何从以前保存的数据目录副本恢复?

我之前保存了 /var/lib/mysql/ddms 目录的副本(“ddms”是数据库名称)。现在我通过运行在新安装的 Ubuntu 10.04.3 LTS 上安装了新的 MySQL apt-get install mysql-server,我相信安装了 5.1 版本。在我将 ddms 目录复制到 /var/lib/mysql 下后,它的一些表可以正常工作,这些表与一组三个文件相关联:一个 .frm 文件、一个 .MYD 文件和一个 .MYI 文件。

但是,有两个表包含不同的文件集:一个 .frm 文件和一个 .ibd 文件。这两个表未显示在 phpMyAdmin 中的表列表中。当我查看错误日志时,它显示:

[ERROR] Cannot find or open table ddms/dictionary_item from
the internal data dictionary of InnoDB though the .frm file for the
table exists. Maybe you have deleted and recreated InnoDB data
files but have forgotten to delete the corresponding .frm files
of InnoDB tables, or you have moved .frm files to another database?
or, the table contains indexes that this version of the engine
doesn't support.

请帮助恢复这两个表。谢谢。

答案1

好吧,当我升级 xampp 后亲眼看到这个错误时,我非常生气。

我修复了它将旧版本的 xampp 安装到另一个目录中(其中包含旧版本的 mysql)然后重新登录 phpmyadmin。然后我就可以导出在新版本中不起作用的数据库。(我的表格在旧版本中有效,但在新版本中无效)

笔记这是 Windows 安装。我的旧版本是 xampp 1.7.7,其中包含的 MySQL 是 MySQL Server 5.5

相关内容