mysql - 如何从 mysql 中的备份创建新数据库

标签 mysql backup database-restore

我使用了 MySQL 企业备份,但现在必须恢复一张表。 我不想碰我现有的表,但我想将一个数据库恢复到一个新数据库中,这样我就可以查看旧值并只从中取出一些内容。

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

我确实看到了所有表格,但是当我尝试查询其中任何一个表格时,我收到错误“表格​​不存在”

如何让 mysql 将恢复的文件读入新表而不引起更多问题?

最佳答案

你不能只在数据目录下移动文件并期望 InnoDB 注意到它们。

InnoDB 维护一个“数据字典”,可以将其视为书籍的目录。这就是 InnoDB 知道哪些表存在的方式。数据字典由CREATE、ALTER、DROP、RENAME等DDL语句更新。但如果您将文件物理移动到数据目录中,它不会更新。

此处记录了从 MySQL Enterprise Backup 导入表的方法:Backing Up and Restoring a Single .ibd File

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

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

最终,您可以更轻松地将备份恢复到单独的 MySQL 实例,然后访问您需要的一些内容。 MySQL Sandbox 是一个帮助您设置 MySQL 临时实例的好工具。 .

关于mysql - 如何从 mysql 中的备份创建新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21237804/

相关文章:

php json数据返回jquery

php - root@localhost 的访问被拒绝 MYSQL 错误

mysql - 在报告模块中获取分配项目超过 2 个的联系人

backup - 如何备份VPS服务器?并在紧急情况下恢复它吗?

postgresql - 在 Postgresql 中恢复数据库时出错

java - 从备份恢复数据库后无法连接到数据库

mysql多对多关系查询

android - 使用 adb 备份/恢复?

swift - iTunes 是否备份核心数据?

mongodb - 我可以从 mongo oplog 恢复数据吗?