mysql分库分表中拆分旧数据DBA工具-Percona Toolkit(pt-archiver)

‌适用场景‌:海量数据(千万级),要求低锁迁移

‌步骤‌:

  1. ‌安装工具‌:

wget percona.com/downloads/percona-toolkit/LATEST/percona-toolkit-3.5.7_x86_64.tar.gz
tar zxvf percona-toolkit-3.5.7_x86_64.tar.gz
  1. ‌按年份分批迁移数据‌(以 2024 年为例):
pt-archiver \
  --source h=localhost,u=用户名,p=密码,D=test,t=trail \
  --dest h=localhost,u=用户名,p=密码,D=test,t=trail_2024 \
  --where "YEAR(operate_time) = 2024" \
  --progress 1000 \
  --limit 1000 \
  --txn-size 1000 \
  --no-delete  # 保留源数据(若需删除原数据则去掉此参数)

‌优点‌:无锁迁移,支持断点续传
‌缺点‌:需安装第三方工具,语法需要适配

其他方法对比:

方法适用场景运维复杂度数据安全性
原生存储过程 中小规模固定分表 中(需事务控制)
pt-archiver 海量数据迁移 高(无锁)
Shell + crontab 定期归档
Python 脚本 灵活定制
posted @ 2025-03-24 17:50  study_php_java_C++  阅读(21)  评论(0)    收藏  举报