02.percona Toolkit工具pt-archiver命令实践

1.命令作用

Percona Toolkit有的32个命令,可以分为7大类
工具类别 工具命令 工具作用 备注

开发类	pt-duplicate-key-checker	列出并删除重复的索引和外键	 pt-online-schema-change	在线修改表结构	 pt-query-advisor	分析查询语句,并给出建议,有bug	已废弃pt-show-grants	规范化和打印权限	 pt-upgrade	在多个服务器上执行查询,并比较不同性能类	pt-index-usage	分析日志中索引使用情况,并出报告	 pt-pmp	为查询结果跟踪,并汇总跟踪结果	 pt-visual-explain	格式化执行计划	 pt-table-usage	分析日志中查询并分析表使用情况	pt 2.2新增命令配置类	pt-config-diff	比较配置文件和参数	 pt-mysql-summary	对mysql配置和status进行汇总	 pt-variable-advisor	分析参数,并提出建议	 监控类	pt-deadlock-logger	提取和记录mysql死锁信息	 pt-fk-error-logger	提取和记录外键信息	 pt-mext	并行查看status样本信息	 pt-query-digest	分析查询日志,并产生报告	常用命令pt-trend	按照时间段读取slow日志信息	已废弃复制类	pt-heartbeat	监控mysql复制延迟	 pt-slave-delay	设定从落后主的时间	 pt-slave-find	查找和打印所有mysql复制层级关系	 pt-slave-restart	监控salve错误,并尝试重启salve	 pt-table-checksum	校验主从复制一致性	 pt-table-sync	高效同步表数据	 系统类	
pt-diskstats	查看系统磁盘状态	 pt-fifo-split	模拟切割文件并输出	 pt-summary	收集和显示系统概况	 pt-stalk	出现问题时,收集诊断数据	 pt-sift	浏览由pt-stalk创建的文件	pt 2.2新增命令pt-ioprofile	查询进程IO并打印一个IO活动表	pt 2.2新增命令实用类	
pt-archiver	将表数据归档到另一个表或文件中	 pt-find	查找表并执行命令	 pt-kill	Kill掉符合条件的sql	常用命令pt-align	对齐其他工具的输出	pt 2.2新增命令pt-fingerprint	将查询转成密文	pt 2.2新增命令

2.数据归档实践基本使用方法

pt-archiver 是 Percona Toolkit 中的一个组件,主要用于对 MySQL 表数据进行归档和清除。它可以将数据归档到另一台服务器上的另一张表,或者归档到一个文件中,文件可以使用 LOAD DATA INFILE 进行数据装载。

2.1.归档到文件

pt-archiver --source h=127.0.0.1,P=3306,u=archiver,p='password',D=database,t=table \
--where "create_time >= '2020-01-01' and create_time < '2021-01-01'" \
--charset utf8 \
--bulk-delete \
--limit 1000 \
--commit-each \
--statistics \
--file './%Y-%m-%d-%D.%t'

常用选项

  • --source: 指定需要进行归档操作的表,使用 DSN 方式表示。
  • --dest: 指定要归档到的目标端表,使用 DSN 方式表示。
  • --where: 指定通过 WHERE 条件语句指定需要归档的数据。
  • --file: 指定表数据需要归档到的文件。
  • --limit: 指定每条语句获取表和归档表的行数。
  • --commit-each: 指定按每次获取和归档的行数进行提交。
  • --bulk-delete: 使用单个 DELETE 语句删除 chunk 的方式来批量删除行。
  • --bulk-insert: 使用 LOAD DATA LOCAL INFILE 的方法,通过批量插入的方式来插入行。
  • --progress: 指定每多少行打印进度信息。
  • --run-time: 指定工具归档操作在退出之前需要运行的时间。
  • --no-delete: 指定不删除已被归档的表数据。
  • --charset-A: 指定连接字符集。

例子:

原始表数据如下:

pt-archiver --source h=127.0.0.1,P=3306,u=root,p='123456',D=lewei,t=role \
--where "modifiedDate >= '2020-01-01' and modifiedDate < '2024-01-01'" \
--charset utf8 \
--bulk-delete \
--limit 1000 \
--commit-each \
--statistics \
--file './%Y-%m-%d-%D.%t'

特别注意:语句中 \  是不能删除的。

执行后:

表中还剩几条数据。

导出的文件:

2.2.归档到另一张表并删除原表数据(不删除的话加上 --no-delete) 

 

pt-archiver --source h=127.0.0.1,P=3306,u=archiver,p='password',D=database,t=table \
--dest h=127.0.0.1,P=3306,u=archiver,p='password',D=database,t=table_bak \
--where "create_time >= '2020-12-31' and create_time < '2021-01-01'" \
--charset utf8 \
--bulk-delete \
--limit 1000 \
--commit-each \
--statistics \
--bulk-insert

这个命令会将数据归档到 database 数据库中的 table_bak 表,并从原表中删除这些数据。

2.3.只删除数据

pt-archiver --source h=127.0.0.1,P=3306,u=archiver,p='password',D=database,t=table \
--where "create_time >= '2021-01-01' and create_time < '2021-01-02'" \
--charset utf8 \
--bulk-delete \
--limit 1000 \
--commit-each \
--statistics \
--purge \
--primary-key-only

这个命令只会删除 database 数据库中 table 表里 create_time 在 2021-01-01 到 2021-01-02 之间的数据。

3.注意事项

  • 确保源表和目标表具有相同的结构。
  • 如果使用 --bulk-insert 选项,确保目标数据库有足够的权限和资源来创建临时表并执行批量插入。
  • 使用 pt-archiver 时,建议在低峰时段进行,以减少对生产环境的影响。
  • 归档操作可能需要一定的时间,特别是处理大量数据时。确保有足够的时间和资源来完成操作。
  • 在执行删除操作之前,确保备份了所有重要数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/775576.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Lua热更新(xlua)

发现错误时检查是否:冒号调用 只需要导入asset文件夹下的Plugins和Xlua这两个文件即可,别的不用导入 生成代码 和清空代码 C#调用lua using Xlua; 需要引入命名空间 解析器里面执行lua语法 lua解析器 LuaEnv 单引号是为了避免引号冲突 第二个参数是报错时显示什么提示…

【Java程序设计】【C00389】基于(JavaWeb)Springboot的校园疫情防控系统(有论文)

基于&#xff08;JavaWeb&#xff09;Springboot的校园疫情防控系统&#xff08;有论文&#xff09; 项目简介项目获取开发环境项目技术运行截图 博主介绍&#xff1a;java高级开发&#xff0c;从事互联网行业六年&#xff0c;已经做了六年的毕业设计程序开发&#xff0c;开发过…

H5小程序视频方案解决方案,实现轻量化视频制作

对于许多企业而言&#xff0c;制作高质量的视频仍然是一个技术门槛高、成本高昂的挑战。针对这一痛点&#xff0c;美摄科技凭借其深厚的技术积累和创新能力&#xff0c;推出了面向企业的H5/小程序视频方案解决方案&#xff0c;为企业提供了一种轻量化、高效、便捷的视频制作方式…

蓝桥杯基础练习汇总详细解析(三)——字母图形、01字符串、闰年判断(详细解题思路、代码实现、Python)

试题 基础练习 字母图形 提交此题 评测记录 资源限制 内存限制&#xff1a;256.0MB C/C时间限制&#xff1a;1.0s Java时间限制&#xff1a;3.0s Python时间限制&#xff1a;5.0s 问题描述 利用字母可以组成一些美丽的图形&#xff0c;下面给出了一个例子&#…

2024年腾讯云4核8G服务器多少钱一年?买1年送3个月

2024年腾讯云4核8G服务器租用优惠价格&#xff1a;轻量应用服务器4核8G12M带宽646元15个月&#xff0c;CVM云服务器S5实例优惠价格1437.24元买一年送3个月&#xff0c;腾讯云4核8G服务器活动页面 txybk.com/go/txy 活动链接打开如下图&#xff1a; 腾讯云4核8G服务器优惠价格 轻…

软件部署资源计算工具:精确评估资源需求

软件部署资源计算工具&#xff1a;精确评估资源需求 在当今快速发展的信息技术时代&#xff0c;软件部署已成为企业运营不可或缺的一部分。然而&#xff0c;一个常见的挑战是如何精确评估软件部署所需的资源。资源评估不仅关系到软件的性能和稳定性&#xff0c;还直接影响到成…

Ps:通道混合器(工作原理篇)

通过通道混合器 Channel Mixer命令&#xff0c;可以创建高品质的灰度图像、棕褐色图像或其他色调图像&#xff0c;也可以对图像进行创造性的颜色调整&#xff0c;还常用于偏色校正。 要掌握通道混合器的使用方法&#xff0c;需先了解一些基础概念和方法。 1、原色通道 在不同的…

让手机平板成为AI开发利器:AidLux

想ssh登录自己的手机吗&#xff1f; 想在手机上自由的安装lynx、python、vscode、jupyter甚至飞桨PaddlePaddle、Tensorflow、Pytorch和昇思Mindspore吗&#xff1f; 那么看这里....装上AidLux&#xff0c;以上全都有&#xff01; AidLux是一个综合的AI开发平台&#xff0c;…

Vue 与 React:前端框架对比分析

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

Chrome之解决:插件不能使用问题(十三)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

深入理解与实践AB测试:从理论到实战案例解析

一、引言 在互联网产品优化和运营策略制定中&#xff0c;AB测试&#xff08;也称为分组测试或随机化对照实验&#xff09;是一种科学且严谨的方法。它通过将用户群体随机分配至不同的实验组&#xff08;通常是A组和B组&#xff09;&#xff0c;对比不同版本的产品或策略对关键…

基于SpringBoot和Vue的校园管理系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的校园管理系统的设计与实现 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x1f…

深入理解Vue的生命周期机制

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

【检索稳定|火爆征稿中】2024年企业管理与数字化经济国际学术会议(ICBMDE 2024)

【检索稳定|火爆征稿中】2024年企业管理与数字化经济国际学术会议&#xff08;ICBMDE 2024&#xff09; 2024 International Conference on Business Management and Digital Economy&#xff08;ICBMDE 2024&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~…

【tingsboard开源平台】下载数据库,IDEA编译,项目登录

一&#xff0c; PostgreSQL 下载 需要看官网的&#xff1a;点此下载直达地址&#xff1a;点此进行相关学习&#xff1a;PostgreSQL 菜鸟教程 二&#xff0c;PostgreSQL 安装 点击安装包进行安装 出现乱码错误&#xff1a; There has been an error. Error running C:\Wind…

鸿蒙雄起!风口就在当下,你如何抉择?

近年来&#xff0c;华为自主研发的鸿蒙操作系统&#xff08;HarmonyOS&#xff09;引起了广泛的关注和讨论。鸿蒙系统不仅标志着华为在软件领域的一次重大突破&#xff0c;也预示着全球智能设备市场格局的潜在变化。本文将深入探讨鸿蒙系统的兴起、其在市场上的表现以及对程序员…

【b站李炎恢】Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢

课程地址&#xff1a;【Vue.js Element UI | 十天技能课堂 | 更新中... | 李炎恢】 https://www.bilibili.com/video/BV1U54y127GB/?share_sourcecopy_web&vd_sourceb1cb921b73fe3808550eaf2224d1c155 备注&#xff1a;虽然标题声明还在更新中&#xff0c;但是看一些常用…

前端Vue开发技术总结

VUE官网:https://cn.vuejs.org/ VUE官方教程:https://v2.cn.vuejs.org/v2/guide/ Vite官网:https://cn.vitejs.dev/guide/ Element Plus官网:http://element-plus.org/zh-CN/ VsCode常用快捷键 vscode 代码自动对齐快捷键:Shift+Alt+F 一、新建项目 完整的项目结构图如…

如何创建仓库?

第一 绑定邮箱 第二步 创建仓库 第三步 下载gitee 下载 再点击键盘中 windon加r 输入自己创建好的仓库邮箱 第四 在自己项目的文件夹中 打开项目 再进行推送 推送完毕就可以了

【GitLab】Ubuntu 22.04 快速安装 GitLab

在 Ubuntu 22.04 上安装最新版本的 GitLab&#xff0c;可以按照以下步骤操作&#xff1a; 1. 更新系统&#xff1a; 在终端中执行以下命令以确保系统是最新的&#xff1a; sudo apt update sudo apt upgrade2. 安装依赖&#xff1a; 安装 GitLab 所需的依赖包&#xff1a; …