Percona Toolkit · 归档工具 pt-archiver 发表于 2019-10-19 | 更新于 2019-10-22 | 分类于 Percona Toolkit | 阅读次数: 功能将 MySQL 数据库中表的记录归档到另外一个表或者文件 原理 使用1234567891011121314151617181920212223242526# 把数据归档至归档表pt-archiver --source h=10.138.228.231,P=3306,u=sre,p='xxx',D=matomo,t=matomo_log_link_visit_action --charset=utf8 --dest h=10.138.228.231,P=3306,u=sre,p='xxx',D=matomo,t=matomo_log_link_visit_action_history --where "server_time < '2019-01-01'" --limit 1000 --commit-each --bulk-insert --no-version-check# h=10.138.228.231 -- 数据库实例地址# P=3306 -- 数据库实例端口# u=sre -- 数据库实例用户# p=xxx -- 数据库实例用户密码# D=matomo -- 数据库实例数据库# t=matomo_log_link_visit_action -- 数据库实例表名称# --source -- 指定要被归档的数据源# --charset=utf8 -- 使用的字符集,需与表字符集一致# --file -- 指定目标操作系统文件名# --dest -- 指定归档到的目标表# --where "id > 3008" -- 指定 where 过滤条件,过滤出要归档的数据# --limit 1000 -- 每条语句读取和归档的数据行数,默认是 1# --commit-each -- 每次获取和归档数据后,commit提交# --no-version-check -- 不做版本检查# --bulk-insert -- 批量插入数据# --statistics -- 显示 pt-archiver 本次操作的统计信息。# 每5000条删除1次,每隔2000行输出一次数据pt-archiver --source D=ibilling_pay_hupu,t=purchase_order --user=root --password='root' -S /tmp/mysql.sock --where "create_datetime <= '2015-06-20 00:00:00'" --purge --limit=5000 --progress 2000 --why-quit --no-check-charset > /opt/1.log# 用于把数据导出文件,不用删除原表中数据pt-archiver --source h=127.0.0.1,P=58886,D=test,t=t_info_refresh --no-check-charset --where 'id > 1' --progress 4000 --no-delete --file "/tmp/pt-archiver.sql" --limit=10000