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