InnoDB中支持Transportable Tablespace功能。也就是表空间可以从一个实例迁移到另一个实例。相比mysqldump来进行导入导出而言,速度更快,而且使用也很便捷。
首先,表必须是独立表空间模式,如果表有外键,与外键关联的表也应该一起导出、导入或者禁用外键检查。
导出表空间
表空间的导出(export)。在源实例中,执行FLUSH TABLES t FOR EXPORT。首先对表上共享锁,即停止写入。
丢弃表空间
在目的实例中,进行表空间的导入(import)之前,要先丢弃表空间(discard)。
ALTER TABLE t DISCARD TABLESPACE;
导入表空间
目的实例丢弃了表空间之后,从源实例中将export出来的表空间文件拷贝过来,覆盖丢弃的表空间文件,就可以进行导入(import)操作。
ALTER TABLE t IMPORT TABLESPACE;
导入操作首先会对配置文件(cfg)进行校验,看看是否匹配。如果cfg文件缺失,则会尝试从索引的根页中读取相关信息。
原文:https://www.cnblogs.com/oradba/p/14600233.html