pt-archiver–高效的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}

参数说明如下:

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

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

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

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

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/soft/19038.html

发表评论

登录后才能评论