[Mysql] 运行中怎么将表进行迁移

环境:公司上新设备,需要把客户信息从旧设备迁移。

旧设备:mysql版本:5.6   centos:7.3   存储引擎:INNODB

新设备:mysql版本:5.7   centos:7.6   存储引擎:INNODB

战斗时间过长,设备老旧

实现思路,首先要查看之前创库创表语法,并将库和表创建好,然后新表进行分离,再将旧表的idb文件传输到新表/usr/local/mysql/data/库中

1、查之前的创库语法,用同样的语法在新设备上创建库

2、查之前的创库语法,用同样的语法在新设备上创建表

 3、将新创好的表进行分离

 alter table (表名) discard tablespace

4.、把旧设备的 ibd文件通过SCP传到新设备上;

 

 5、远程传输不会保留原有权限,将此文件所属者改为mysql

 6、将原表的ibd文件导入

 select查看就会有了!多表转移也是按原表创表语法一个一个来创建,分离、导入可以用拼接命令进行分离导入!

批量分离:

select concat ('alter table ' ,table_schema,'.',table_name , ' discard tablespace') from information_schema.tables where table_schema not in ('sys','mysql','information_schema','performance_schema');

批量导入:

select concat ('alter table ' , table_schema,'.',table_name , ' import tablespace') from information_schema.tables where table_schema not in ('sys','mysql','information_schema','performance_schema');

将要分离、导入的数据直接复制粘贴执行即可。

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值