龙空技术网

pt-archiver,一款高效的mysql数据迁移工具

进击的国产车 371

前言:

此时同学们对“mysql在线迁移工具”大致比较关切,看官们都需要了解一些“mysql在线迁移工具”的相关资讯。那么小编也在网摘上收集了一些有关“mysql在线迁移工具””的相关内容,希望咱们能喜欢,各位老铁们一起来学习一下吧!

MySQL系列

第1篇

01

pt-archiver是什么?

pt-archiver是Percona-Toolkit工具集中的一个组件,可以用于对MySQL表数据进行归档和清除。它可以实现将数据归档到另一张表或者是一个文件中,在清除表数据的过程中并不会影响OLTP事务的查询性能,可以细粒度的控制每次迁移事务的大小,同时免去编写应用程序进行数据迁移的麻烦。

02

迁移表数据并归档

将在线表数据迁移到另外一张表,然后对已迁移的原始表数据进行清理。

1、对在线表进行历史数据备份

mysqldump -u${user} -p${password} -h${host} -P${port} ${database} ${table} --no-create-info --set-gtid-purged=off --single-transaction --where="${condition}" --skip-tz-utc > ${file_path}

参数说明如下:

2、将在线表迁移至历史表

先进行迁移语句的校验

pt-archiver --source h=${source_host},P=${source_port},u=${source_user},D=${source_database},t=${source_table},A=utf8 --dest h=${dest_host},P=${dest_port},u=${dest_user},D=${dest_database},t=${dest_table},A=utf8 --charset=utf8 --where "create_time < '2020-05-07 00:00:00'" --progress=100000 --txn-size=40000 --limit=40000 --statistics --no-delete --ask-pass --dry-run
迁移数据但不进行清除
pt-archiver --source h=${source_host},P=${source_port},u=${source_user},D=${source_database},t=${source_table},A=utf8 --dest h=${dest_host},P=${dest_port},u=${dest_user},D=${dest_database},t=${dest_table},A=utf8 --charset=utf8 --where "create_time < '2020-05-07 00:00:00'" --progress=100000 --txn-size=40000 --limit=40000 --statistics --no-delete --ask-pass --why-quit
进行源表数据清除
pt-archiver --source h=${source_host},P=${source_port},u=${source_user},D=${source_database},t=${source_table},A=utf8 --purge --charset=utf8 --where "create_time < '2020-05-07 00:00:00'" --progress=100000 --txn-size=40000 --limit=40000 --statistics --ask-pass --why-quit

以上涉及的参数说明如下:

微信公众号中文同名:饭团技术,欢迎关注交流。

标签: #mysql在线迁移工具