MySQL 大表迁移简单方案

1. 同一个 MySQL 实例中大表迁移

有两种方法,应用在不同的场景下:

-- 1. 重命名实现大表完整迁移
mysql> RENAME TABLE src_db.big_table TO dst_db.big_table;

-- 2. 大表部分迁移
mysql> CREATE TABLE dst_db.big_table AS SELECT * FROM src_db.big_table WHERE id > 100000 and id < 900000;
-- 如果数据量比较大的话,可以写一个程序批量处理:
mysql> INSERT INTO dst_db.big_table SELECT * FROM src_db.big_table WHERE id > 100000 and id < 110000;

2. 跨实例的大表迁移

先用mysqldump导出sql,然后在执行:

-- 导出完整表数据:
mysqldump -umyuser -pmy_passwd --single-transaction src_db big_table > src_db.big_table.sql 
-- 导出部分数据(不导出建表语句):
mysqldump -umyuser -pmy_passwd -t src_db big_table --single-transaction --where="id > 100000 and id <= 1000000000" > big_table-100000-1000000000.sql

-- 导入数据:
mysql -umyuser -pmy_passwd dst_db < big_table.sql

转载于:https://my.oschina.net/ydsakyclguozi/blog/3009598

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值