MySQL InnoDB引擎的表通过拷贝物理文件的方式进行单表或指定表的复制,本文将介绍两种方法。方法一:修改引擎1. 首先,创建一张innodb引擎的表并插入测试数据。sqlcreate table test_tb(id int primary key,c1 varchar(20)) ENGINE=InnoDB DEFAULT CHARSET=utf8;insert into test_tb select 1,'c1';insert into test_tb select 2,'c2';2. 使用alter命令将引擎修改为myisam。sqlalter table test_tb engine=myisam;show create table test_tb\G3. 将物理文件拷贝至目标库。4. 修改权限。5. 查看结果。记录和源库一致。6. 最后,将源库及目标库的表引擎修改回innodb。方法二:拷贝.idb物理表空间文件1. 创建一张innodb的表,为测试大表,创建一张800W记录的表。sqlCREATE TABLE `test_tb2` ( `id` int(11) DEFAULT NULL, `aa` varchar(20) DEFAULT NULL, `bb` varchar(20) DEFAULT NULL, `cc` varchar(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;call sp_test_tb2(8000000);2. 在目标库创建相同表名。3. 删除目标表的表空间。4. 拷贝源库的idb文件。5. 修改表空间文件权限。6. 目标表导入表空间数据。7. 查看导入结果。总结:通过这两种方法,可以实现MySQL InnoDB表的复制或迁移。