MySQL 大表迁移简单方案

来源:互联网 发布:淘宝官方正品女装 编辑:程序博客网 时间:2024/06/02 00:29

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

3. xtrabackup and innobackupex

TODO...
0 0