当前位置: 首页 > news >正文

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 时,建议在低峰时段进行,以减少对生产环境的影响。
  • 归档操作可能需要一定的时间,特别是处理大量数据时。确保有足够的时间和资源来完成操作。
  • 在执行删除操作之前,确保备份了所有重要数据。

相关文章:

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

1.命令作用 Percona Toolkit有的32个命令&#xff0c;可以分为7大类 工具类别 工具命令 工具作用 备注 开发类 pt-duplicate-key-checker 列出并删除重复的索引和外键 pt-online-schema-change 在线修改表结构 pt-query-advisor 分析查询语句&#xff0c;并给出建议&#x…...

【天狼启航者】研究计划

“造车”&#xff0c;预计在4月中旬展开&#xff08;嵌入式蓝桥杯比赛结束后&#xff09;&#xff0c;这里先计划一下&#xff0c;不断更新。 基本要求&#xff1a; 使用STM32F407系列芯片&#xff0c;使用FreeRTOS系统。 驱动程序必须要有强大的可移植性、模块化、低耦合、简…...

面试题 之 webpack

1.说说你对webpack理解&#xff1f;解决什么问题&#xff1f; Webpack 是实现前端项目的模块化&#xff0c;用于现代 JavaScript 应用程序的静态模块打包工具&#xff0c;被webpack 直接引用的资源打包进 bunde.js的资源&#xff0c;当webpack 处理应用程序时,它会在内部构建一…...

【机器学习之旅】概念启程、步骤前行、分类掌握与实践落地

&#x1f388;个人主页&#xff1a;豌豆射手^ &#x1f389;欢迎 &#x1f44d;点赞✍评论⭐收藏 &#x1f917;收录专栏&#xff1a;机器学习 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共同学习、交流进…...

外星人m18R2国行中文版原厂预装23H2原装Win11系统恢复带F12恢复重置

戴尔外星人m18R2国行中文版原厂预装23H2系统恢复安装 远程恢复安装&#xff1a;https://pan.baidu.com/s/166gtt2okmMmuPUL1Fo3Gpg?pwdm64f 提取码:m64f 1.自带原厂预装系统各驱动&#xff0c;主题&#xff0c;Logo,Office带所有Alienware主题壁纸、Alienware软件驱动 2.带…...

libVLC 视频抓图

Windows操作系统提供了多种便捷的截图方式&#xff0c;常见的有以下几种&#xff1a; 全屏截图&#xff1a;通过按下PrtSc键&#xff08;Print Screen&#xff09;&#xff0c;可以截取整个屏幕的内容。截取的图像会保存在剪贴板中&#xff0c;可以通过CtrlV粘贴到图片编辑工具…...

Docker搭建LNMP环境实战(06):Docker及Docker-compose常用命令

Docker搭建LNMP环境实战&#xff08;06&#xff09;&#xff1a;Docker及Docker-compose常用命令 此处列举了docker及docker-compose的常用命令&#xff0c;一方面可以做个了解&#xff0c;另一方面可以在需要的时候进行查阅。不一定要强行记忆&#xff0c;用多了就熟悉了。 1、…...

ClickHouse10-ClickHouse中Kafka表引擎

Kafka表引擎也是一种常见的表引擎&#xff0c;在很多大数据量的场景下&#xff0c;会从源通过Kafka将数据输送到ClickHouse&#xff0c;Kafka作为输送的方式&#xff0c;ClickHouse作为存储引擎与查询引擎&#xff0c;大数据量的数据可以得到快速的、高压缩的存储。 Kafka大家…...

Encoding类

Encoding System.Text.Encoding 是 C# 中用于处理字符编码和字符串与字节之间转换的类。它提供了各种静态方法和属性&#xff0c;**用于在不同字符编码之间进行转换&#xff0c;**以及将字符串转换为字节数组或反之。 在处理多语言文本、文件、网络通信以及其他字符数据的场景…...

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数(二)

标定系列——预备知识-OpenCV中实现Rodrigues变换的函数&#xff08;二&#xff09; 说明记录 说明 简单介绍罗德里格斯变换以及OpenCV中的实现函数 记录...

2014年认证杯SPSSPRO杯数学建模C题(第一阶段)土地储备方案的风险评估全过程文档及程序

2014年认证杯SPSSPRO杯数学建模 C题 土地储备方案的风险评估 原题再现&#xff1a; 土地储备&#xff0c;是指市、县人民政府国土资源管理部门为实现调控土地市场、促进土地资源合理利用目标&#xff0c;依法取得土地&#xff0c;进行前期开发、储存以备供应土地的行为。土地…...

我的编程之路:从非计算机专业到Java开发工程师的成长之路 | 学习路线 | Java | 零基础 | 学习资源 | 自学

小伙伴们好&#xff0c;我是「 行走的程序喵」&#xff0c;感谢您阅读本文&#xff0c;欢迎三连~ &#x1f63b; 【Java基础】专栏&#xff0c;Java基础知识全面详解&#xff1a;&#x1f449;点击直达 &#x1f431; 【Mybatis框架】专栏&#xff0c;入门到基于XML的配置、以…...

Django Cookie和Session

Django Cookie和Session 【一】介绍 【1】起因 HTTP协议四大特性 基于请求响应模式&#xff1a;客户端发送请求&#xff0c;服务端返回响应基于TCP/IP之上&#xff1a;作用于应用层之上的协议无状态&#xff1a;HTTP协议本身不保存客户端信息短链接&#xff1a;1.0默认使用短…...

【算法刷题 | 二叉树 04】3.27(翻转二叉树、对称二叉树、完全二叉树的节点个数、平衡二叉树、完全二叉树的所有路径)

文章目录 6.翻转二叉树6.1问题6.2解法一&#xff1a;递归6.2.1递归思路&#xff08;1&#xff09;确定递归函数的参数和返回值&#xff08;2&#xff09;确定终止条件&#xff08;3&#xff09;确定单层递归的逻辑 6.2.2全部代码 6.3解法二&#xff1a;层序遍历 7.对称二叉树7.…...

【uniapp】uniapp实现免密登录

文章目录 一、概要二、整体架构流程三、技术名词解释四 、技术细节1.存取token有效期&#xff1f;2.使用setStorageSync而不使用setStorage&#xff1f;3.使用onLaunch而不使用全局路由&#xff1f; 一、概要 打开一个网页或小程序的时候&#xff0c;我们有时候会自动进入主页…...

2024-03-27 问AI: 介绍一下深度学习中的 Darknet

文心一言 在深度学习中&#xff0c;Darknet是一个开源的神经网络框架&#xff0c;由Joseph Redmon开发&#xff0c;主要用于实现深度学习算法。它以其高效的实现和速度受到广泛关注&#xff0c;并在许多计算机视觉竞赛中取得了优异的结果。 Darknet的特点包括&#xff1a; 轻…...

POJ3037 + HDU-6714

两道最短路好题 POJ3037 手玩一下 发现每一点的速度可以直接搞出来&#xff0c;就是pow(2,h[1][1]-h[i][j])*V 那么从这个点出发到达别的点的耗费的时间都是上面这个数的倒数&#xff0c;然后直接跑最短路就好了 #include<iostream> #include<vector> #include<…...

Ubuntu搭建环境Cmake-Libtorch-Torchvision-PCL-VTK-OpenCV

Ubuntu搭建环境Cmake-Libtorch-Torchvision-PCL-VTK-OpenCV 安装Cmake安装libtorch安装torchvision安装PCL安装VTK安装OpenCV设置环境变量 仅供本人记录查阅使用 安装Cmake Cmake下载地址 解压 进入目录会看到只有 bin doc man share三个文件夹&#xff0c;没有 bootstrap文…...

分享多种mfc100u.dll丢失的解决方法(一键修复DLL丢失的方法)

在使用电脑过程中&#xff0c;我们经常会遇到一些陌生的DLL文件&#xff0c;例如mfc100u.dll。这些DLL文件是动态链接库&#xff08;Dynamic Link Libraries&#xff09;的缩写&#xff0c;它们包含了可以被多个程序共享的代码和数据。今天&#xff0c;我们将深入探讨mfc100u.d…...

Redis是单线程还是多线程?(面试题)

1、Redis5及之前是单线程版本 2、Redis6开始引入多线程版本&#xff08;实际上是 单线程多线程 版本&#xff09; Redis6及之前版本&#xff08;单线程&#xff09; Redis5及之前的版本使用的是 单线程&#xff0c;也就是说只有一个 worker队列&#xff0c;所有的读写操作都要…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

React Native在HarmonyOS 5.0阅读类应用开发中的实践

一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强&#xff0c;React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 &#xff08;1&#xff09;使用React Native…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院查看报告小程序

一、开发环境准备 ​​工具安装​​&#xff1a; 下载安装DevEco Studio 4.0&#xff08;支持HarmonyOS 5&#xff09;配置HarmonyOS SDK 5.0确保Node.js版本≥14 ​​项目初始化​​&#xff1a; ohpm init harmony/hospital-report-app 二、核心功能模块实现 1. 报告列表…...

sqlserver 根据指定字符 解析拼接字符串

DECLARE LotNo NVARCHAR(50)A,B,C DECLARE xml XML ( SELECT <x> REPLACE(LotNo, ,, </x><x>) </x> ) DECLARE ErrorCode NVARCHAR(50) -- 提取 XML 中的值 SELECT value x.value(., VARCHAR(MAX))…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展&#xff0c;光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域&#xff0c;IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选&#xff0c;但在长期运行中&#xff0c;例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

Maven 概述、安装、配置、仓库、私服详解

目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...