实验用到两台机器,单机单实例,MySQL 5.6.30。
并将通过vm1> mysql1> vm2> mysql2> 区分两台shell环境和mysql client环境。
〇 过程:
① 先在mysql1上创建测试数据:
② 再保证mysql2上有相同的库表结构,此处为新建,并将mysql2上新建的test.tts表discard掉ibd文件:
③ 对mysql1的test.tts表做FLUSH TABLES操作,此时会多了一个cfg文件:
〇 限制:
两个实例都必须开启独立表空间,innodb_file_per_table
迁移的两个实例的innodb_page_size必须一致,并且mysql server版本建议一致
不支持在分区表上执行discard tablespace
不支持在有主外键关系的表上执行discard tablespace,除非设置foregin_key_checks=0
〇 参考文档:
MySQL 5.6 Reference Manual - 14.5.5 Copying Tablespaces to Another Server (Transportable Tablespaces)