我能够使用3个文件恢复MySQL表数据和索引结构(InnoDB引擎)。MyTable.frm,MyTable.ibd和ibdata1。
任何人都可以确认,这3个文件是否足以恢复所有场景的数据。否则,在还原数据时是否还有其他文件需要考虑。提前谢谢。
发布于 2015-08-05 14:50:55
实际上,两个文件就足够了:
MyTable.frmMyTable.ibd从frm文件和ibd文件获得的表模式。
或
MyTable.ibdibdata1。ibdata1存储描述架构的InnoDB字典。
有时,受过训练的眼睛可以从ibd文件中猜出模式,但它必须相对简单。
发布于 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 )。
https://dba.stackexchange.com/questions/109052
复制相似问题