一、背景:
1、当前生产环境中日志表已经高达20亿,容量超过500GB,索引查询效率明显降低。需要进行归档。
二、解决方案:
pt_archiver
优势:
免费
操作简单
下载地址:
https://www.percona.com/downloads
三、操作命令
./pt-archiver --source h=10.0.0.1,P=3306,u=READ,p='PASSWORD',D=DB1,t=TABLE_log --where "create_time <'2023-07-01 00:00:00' " --dest h=10.0.0.2,P=3306,u=READ_W,p='PASSWORDAR',D=DB1_AR,t=TABLE_log_AR --charset=utf8mb4 --no-delete --progress 10000 --limit=10000 --txn-size 10000 --statistics
归档,单行处理,不删除原表,测试速度约为5千行每秒

验证数据无误后,生产环境批量删除
delete from TABLE_log TABLE_log where create_time <'2023-07-01 00:00:00'
四、结论
pt-archive 能够实现在线数据归档,为了安全起见,建议先迁移及备份后再手动清理数据或通过pt-archive 工具清理归档后的数据。
参考:
https://www.cnblogs.com/strongmore/p/18012529
https://cloud.tencent.com/developer/article/1396240
https://www.cnblogs.com/kerrycode/p/13888984.html




