MySQL之InnoDB引擎单表移植

MySQL5.6.6以后默认innodb_file_per_table=ON,开启独立表空间后每张表有二个文件:

.frm file contains table structure/definition

.ibd file contains data of table as well as index


下面是InnoDB引擎独立表空间单张表在不同Server之间的move:

一,在目的端创建和源表一样的表结构(必须表结构一样)

1,源端:show create table test.tb_name;

2,目的端:create database test;

create table tb_name;


二,丢弃表空间

ALTER TABLE dst_tb_name DISCARD TABLESPACE;


三,复制.frm和.ibd文件到对应的数据库目录

cp tb_name.frm tb_name.ibd test/ -rf

chown mysql. test/ -R


四,导入表空间

ALTER TABLE dst_tb_name IMPORT TABLESPACE;


五,根据具体需求重命名表

rename table test.tb_name to test.tb_name_bak;

你可能感兴趣的:(MySQL之InnoDB引擎单表移植)