###mysql innodb大表表空间拷贝方式迁移
#源端db操作
##表加全局锁,即把.cfg 数据字典文件导出到磁盘上
mysql>flush tables t12 for export;
flush tables bak20240829_global_query_review for export;
flush tables bak20240829_global_query_review_history for export;
#目标端db操作
##创建原表结构
create table t12
create table slowdb.bak20240829_global_query_review like slowdb.global_query_review ;
create table slowdb.bak20240829_global_query_review_history like slowdb.global_query_review_history ;
##关闭表的数据空间兵会删除其数据文件t12.ibd
mysql> alter table t12 discard tablespace;
alter table slowdb.bak20240829_global_query_review discard tablespace;
alter table slowdb.bak20240829_global_query_review_history discard tablespace;
#源端db操作
##拷贝数据目录到对应库名下的t12.ibd和t12.cfg文件,然后修改文件属性
scp t12.ibd remotehost:/data/3306/data/xx/
scp t12.cfg remotehost:/data/3306/data/xx/
scp /data/3306/data/slowdb/bak20240829_global_query_review.ibd 172.27.22.38:/data/3306/data/slowdb/
scp /data/3306/data/slowdb/bak20240829_global_query_review_history.ibd 172.27.22.38:/data/3306/data/slowdb/
#目标端db操作
chown -R mysql:mysql /data/3306/data/slowdb
##应用表空间恢复数据并进行恢复后检查
mysql>alter table t12 import tablespace;
mysql>check table t12;
alter table slowdb.bak20240829_global_query_review import tablespace;
alter table slowdb.bak20240829_global_query_review_history import tablespace;
check table slowdb.bak20240829_global_query_review ;
check table slowdb.bak20240829_global_query_review_history ;
##验证数据是否恢复回来
mysql> select * from t12 limit 1;
select * from slowdb.bak20240829_global_query_review limit 1;
select * from slowdb.bak20240829_global_query_review_history limit 1;