mysql使用传输表空间对大表或分区表进行快速复制

本文详细介绍了在MySQL中使用表空间复制技术进行数据迁移的方法,包括创表结构查看、表空间文件导出与导入、分区表操作等步骤,适用于大型数据库的高效迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在有些情况下,需要对单个或多个大表、分区表进行复制、数据迁移等操作,使用mysqldump可能比较慢,这种情况下可以使用mysql的传输表空间进行,以下是操作过程
1.在源服务器上查看需要复制的创表结构
image
2.在目的服务器上创建对应表
image
可以看到对应的数据目录下已经创建了表结构定义文件与表空间文件
image
3.通过discard删除表空间文件
alter table t_search discard tablespace;
image
确认表空间文件被删除
4.在源数据库中通过export命令导出表空间文件(同时加了读锁)
flush tables t_search for export;
image
image
可以看到export到多出了一个cfg文件,里面保存了一些元数据信息
5.将源服务器上导出的cfg文件与ibd文件拷贝至目的服务器数据库数据目录下对应的数据库目录test下面
image
更改cfg文件与ibd文件的属主,chown -R mysql.mysql .
6.在源目的数据库中解锁t_search
image
注意必须要在将cfg文件与ibd文件复制后才能解锁,否则cfg文件将被删除
7.在目的数据库import倒入数据完成表空间复制
alter table t_search import tablespace;
image
8.这种方法也可以用于对分区表的倒入导出
语法为:
alter table t discard partition p0 tablespace;
alter table t import partition p0 tablespace

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值