首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用3个文件进行MySQL InnoDB数据恢复

使用3个文件进行MySQL InnoDB数据恢复
EN

Database Administration用户
提问于 2015-08-05 07:40:59
回答 2查看 168关注 0票数 -1

我能够使用3个文件恢复MySQL表数据和索引结构(InnoDB引擎)。MyTable.frmMyTable.ibdibdata1

任何人都可以确认,这3个文件是否足以恢复所有场景的数据。否则,在还原数据时是否还有其他文件需要考虑。提前谢谢。

EN

回答 2

Database Administration用户

发布于 2015-08-05 14:50:55

实际上,两个文件就足够了:

  • MyTable.frm
  • MyTable.ibd

从frm文件和ibd文件获得的表模式。

  • MyTable.ibd
  • ibdata1

ibdata1存储描述架构的InnoDB字典。

有时,受过训练的眼睛可以从ibd文件中猜出模式,但它必须相对简单。

票数 0
EN

Database Administration用户

发布于 2015-08-05 21:36:49

所有三个文件都是恢复所有InnoDB表所必需的,并且足够。

您不能用这样的技术加载单个InnoDB表。(MyISAM是一个不同的故事。)

5.6.8有“可传输表空间”,它允许您将一个非分区表从一个位置移动到另一个位置,但它需要特殊的说明,而不仅仅是文件副本。

-- 2012-08-07 5.6.6里程碑9功能添加或更改-- InnoDB -- InnoDB表现在支持“可传输表空间”的概念,允许从运行中的MySQL实例导出.ibd文件并导入到另一个运行实例中。刷新表( http://dev.mysql.com/doc/refman/5.6/en/flush.html )命令的FOR导出子句将任何未保存的更改从InnoDB内存缓冲区写入.ibd文件。将.ibd文件和单独的元数据文件复制到另一台服务器后,可以使用ALTER ( http://dev.mysql.com/doc/refman/5.6/en/alter-table.html )语句的丢弃TABLESPACE和导入TABLESPACE子句将表数据导入到不同的MySQL实例中。有关更多信息,请参见将表空间复制到另一个服务器(可传输表空间) ( http://dev.mysql.com/doc/refman/5.6/en/tablespace-copying.html )。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/109052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档