0

我在 Windows 2008 上安装了 MySql 5.1.13 数据库,然后在一个晴朗的日子里,我备份了我的服务器 [300 多个数据库]。卸载旧版本并安装 MYSql 5.5 版本。现在我将数据文件夹复制回 Mysql 5.5 数据位置并获得了所有数据库,但后来我意识到虽然确实存在大约 250 个数据库,但它们没有在 PHPmyadmin 中显示表。我尝试在其中几个数据库上运行“显示表”,并且表名确实显示[以及 tablename.frm 文件退出]。

更不用说所有 Innodb 的表都只缺少一个。怎样才能轻松地让他们回来。我有每个数据库的备份,但运行 250 个 SQL 文件并不容易 :)。

4

1 回答 1

0

您的 innodb 引擎可以有自己的单独文件夹来存储数据文件。根据 MySQL 手册,InnoDB 默认在 MySQL 数据目录中创建表空间文件,请参见:http ://dev.mysql.com/doc/refman/5.0/en/innodb-configuration.html 。

通常,您会将表拆分到不同的驱动器以提高性能,因此您可能会遇到 InnoDB 表配置为放置在另一个驱动器或文件夹上的情况。如果有,请检查之前的 MySQL 配置文件并检查以下行:innodb_data_home_dir = /ibdata

这将指示文件所在的位置。我还没有尝试过,但是如果是这种情况,您应该能够将当前配置指向旧的 innodb 位置。如果这不起作用,我认为恢复将是你最好的选择。

祝你好运!

于 2012-12-13T06:38:55.470 回答