复制一张表,方法有很多种。
一、最简单的方法:
create table t2 as select * from t1;
二、逻辑导出:
1、mysqldump逻辑导出
mysqldump -h$host -P$port -u$user --add-locks=0 --no-create-info --single-transaction --set-gtid-purged=off test01 t2 --where='c1>4' --result-file=/mysql/backup/t2.sql
--
single-transaction
不需要对t2进行加锁,而是使用start transaction with consistent snapshop的方法
--add-locks=0
表示在输出的的文件结果里,不增加"lock tbales t2 write"
--no-create-info
不需要导出表结构
-set-gtid-purged=off
不导出gtid相关信息
--result-file
指定导出文件的路径
2、导出csv文件
创建t3表结构
create table t3 like t2;
导出需要导出t2的数据
select * from t2 where c1>4 into outfile '/mysql/backup/t2.csv';
将csv文件导入到t3
load data infile '/mysql/backup/t2.csv' into table test01