mysql之传输表空间


       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文件缺失,则会尝试从索引的根页中读取相关信息。

 

mysql之传输表空间

上一篇:springcloud config配置git作为数据源然后启动报错 If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.


下一篇:ShardingJdbc:读写分离