2014-01-20 60 views
0

我使用MySQL企业备份,但我现在必须恢复一个表。 我不想触摸我现有的表格,但我想要将一个数据库恢复到新的数据库中,以便我可以查看旧值并仅从中获取几个值。如何从mysql中的备份创建新的数据库

我已将应用程序日志应用于要恢复的数据库。 然后我创建了一个名为XY的新数据库,并将“appy-log”操作后生成的所有文件放入XY文件夹中,放入mysql数据文件中。

我看到所有的表,但是当我尝试查询任何人的,我得到错误“表不存在”

我怎样才能让MySQL还原的文件读入一个新表,而不会导致更多的问题?

回答

0

您不能在数据目录下移动文件,并期待InnoDB注意到它们。

InnoDB维护一个“数据字典”,它可以被认为是一本书的目录。这就是InnoDB如何知道存在哪些表。数据字典由DDL语句(如CREATE,ALTER,DROP,RENAME)更新。但是,如果您将文件物理移动到数据区,则不会更新。

从MySQL企业备份中导入表的方法记录在这里:Backing Up and Restoring a Single .ibd File

MySQL 5.6引入了一些新的灵活性,其transportable tablespace功能。

请注意,这两种方法都用于一次导入一张表格。没有导入整个数据库的解决方案。

最终,将备份恢复到单独的MySQL实例将会容易得多,然后访问您需要的几件事情。帮助您设置MySQL临时实例的好工具是MySQL Sandbox