MySQL传输表空间的简单使用方法

1.目标端创建同样的表结构

CREATE TABLE `test` (

      `id` int(11) DEFAULT NULL

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2.目标端保留.frm文件,删除.ibd文件

alter table test.test discard tablespace;    

3.源端对表加一个读锁

flush table test.test for export;

4.拷贝.cfg和.ibd文件到目标端数据文件位置

scp test.ibd root@192.168.10.1:/usr/local/mysql/data/test

scp test.cfg root@192.168.10.1:/usr/local/mysql/data/test

5.源端释放锁

unlock tables;

6.目标端文件赋予权限

chown -R mysql:mysql *

chmod -R 755 *

7.目标端导入表

alter table test.test import tablespace;