推荐阅读: percona-toolkit 之 【pt-archiver】


官方网址: https://www.percona.com/doc/percona-toolkit/2.2/pt-archiver.html

安装

  • ubuntu: sudo apt-get install percona-toolki
  • centOS: yum install percona-toolkit
  • mac: brew install percona-toolki

安装成功验证: pt-archiver --help

使用方法

pt-archiver [OPTIONS] --source DSN --where WHERE

参数

  • ​--source: 指定源数据表

    h:连接的MySQL主机名或IP地址
    u:连接时使用的MySQL用户名
    p:连接时使用的MySQL密码
    P:连接时使用的MySQL端口
    D:连接时使用的默认数据库,可以在运行时使用不同的数据库
    t:要被归档、删除、导出的表i:进行归档、删除、导出时,被指定使用的索引
    S:用于连接的MySQL套接字文件(在Unix系统上)
    a:执行查询时要使用的数据库
    b:如果为true,则使用SQL_LOG_BIN禁用binlog
    L:启用LOAD DATA LOCAL INFILE
    A:连接MySQL的默认字符集(SET NAMES)
    F:通过配置文件读取用户名和密码,格式为:[client]user=your_user_namepass=secret
    
  • ​--where:指定WHERE子句以限制存档的行

    不需要WHERE子句,请使用 --where “1=1”

  • ​--dest:目的库,兼容DSN选项,使用与 --source 相同格式

    不必重复与 --source 相同的选项

  • ​--file: 要归档到的文件,使用与 SELECT INTO OUTFILE 相同的格式
    如:--file '/var/log/archive/%Y-%m-%d-%D.%t'

    %d     Day of the month, numeric (01..31)
    %H     Hour (00..23)
    %i     Minutes, numeric (00..59)
    %m     Month, numeric (01..12)
    %s     Seconds (00..59)
    %Y     Year, numeric, four digits
    %D     Database name
    %t     Table name
    

    ​--buffer: 指定 --file 参数时,先写到 buffer 中,再刷到文件中,提供缓冲功能,可以提高刷写到文件的性能,但崩溃可能会有数据丢失

  • ​--purge: 只删除,不做归档

    ​--no-delete: 不在 source 上面删除归档数据


注意

  • 至少指定 --dest, --file, --purge 三个参数中的一个
  • –ignore 和 --replace 不能同时指定
  • –txn-size 和 --commit-each 不能同时指定
  • –low-priority-insert 和 --delayed-insert 不能同时指定
  • –share-lock 和 --for-update 不能同时指定
  • –analyze 和 --optimize 不能同时指定
  • –no-ascend 和 --no-delete 不能同时指定

  • ​--charset: 指定字符集
  • --[no]check-charset: 默认开启,检查连接的字符集与表的字符集是否一致
  • --[no]check-columns: 默认开启,检查 source 和 dest 是否具有相同的列(不检查列的顺序,数据类型等);如果不同,则报错退出

  • ​--progress: 每多少行打印进度信息:打印当前时间,已用时间以及每X行存档的行数

  • --quiet: 不打印任何输出

  • ​--limit: 获取归档语句的行数,默认 1

    ​--commit-each: 控制事务大小,每次归档完数据,提交事务,配合 --limit 参数,一组一组的归档数据,禁用 --txn-size

  • ​--statistics:收集并打印时间统计信息

  • ​--txn-size: 指定每个事务的大小(行数),默认1,0完全禁用事务

    pt-archive处理多行后,若指定该参数,会提交 --source 和 --dest,并刷新 --file 给出的文件

  • --sleep: 指定两次 SELECT 语句的 sleep 时间,默认没有 sleep

    ​--sleep-coef: 根据上一次 select 的时间进行系数计算–sleep 时间

  • ​--why-quit: 打印退出的原因,归档数据正常完成的除外


  • ​--check-interval: 检查从库延迟的间隔时间,默认1s,每 100 行执行一次检查

  • ​--max-lag: 默认1s,从库延迟超过这个设置值就会自动暂停

  • ​--check-slave-lag: 指定一个从库的DSN串,检查复制延迟的情况,如果大于 --max-lag 就暂停归档

    可以多次指定此选项以检查多个从库,参数同 --source

  • ​--sentinel: 指定的文件的存在将导致pt-archiver停止存档并退出

  • ​--set-vars: 设置 mysql 变量,多个变量用逗号分割


  • ​--bulk-delete: 每次删除一个块的数据,可以加快删除的速度

    这是在按主键删的情况下,碰到复合索引的情况,速度可能不会提高

  • ​--[no]bulk-delete-limit: 为 --bulk-delete 参数添加 limit 选项

  • ​--bulk-insert:使用"LOAD DATA INFILE"方式代替 INSERT 方式写入,批量插入数据到 dest 主机


  • ​--columns: 指定归档的列(用逗号分割)、写入文件和目的库表

    注意: 没有指定列,在原表也会被删除,即: 未选择列的数据会丢失

  • ​--pid: 指定 pid 文件

  • ​--primary-key-only: 指定主键,你如果想清理历史数据,这个选项可以提高效率


  • ​--analyze=ds: 数据归档完成后,执行 ANALYZE TABLE 命令优化表空间

    s 分析源库, d 分析目的库

  • ​--ascend-first: 升序索引优化,提供最左索引(多列主键)的升序

    只使用第一列为升序的索引(如果是在复合索引扫描,该选项只扫描最左列的索引,不需要扫描全索引,提高性能)

  • ​--no-ascend: 不要使用升序索引优化,注意多列主键索引

  • ​--local: 执行 OPTIMZE 或 ANALYZE 语句时,不写 binlog,只在本地执行

  • ​--optimize: 归档完成后,在–source或–dest上执行 OPTIMIZE TABLE命令


  • ​--ignore: insert 语句加入 ignore 属性
  • ​--quick-delete: 为 delete 语句增加 quick 属性
  • ​--delayed-insert: 在 insert 后面添加 delayed,延迟写入
  • ​--for-update: 在 select 语句后面加入 for update
  • --share-lock: 为 select 语句增加 lock in share mode
  • ​--high-priority-select: 在每个 select 语句上加入 HIGH_PRIORITY 修饰符
  • --low-priority-delete: 为 delete 语句增加 LOW_PRIORITY 属性
  • ​--low-priority-insert: 为 INSERT 或 REPLACE 语句增加 low-priority-insert 属性

  • --slave-user: 连接从库的用户,用户必须存在于所有从属服务器上
  • ​--slave-password: 连接从库的密码,用户的密码在所有从站上必须相同
  • ​--database: 连接时使用的默认数据库
  • ​--ask-pass: 连接MySQL时提示输入密码
  • ​--host: 连接的MySQL地址
  • ​--port: 连接MySQL时的端口
  • ​--user: 连接MySQL时的用户
  • ​--password: 连接MySQL时使用的密码,若密码包含逗号,则必须使用反斜杠进行转义

  • ​--config: 从配置文件读取配置,配置文件列表以逗号分隔
  • ​--dry-run: 不做任何操作,只打印要执行的查询语句
  • --header: 使用 --file 时,在归档文件的第一行加入列名
  • --replace: 在 dest 端使用 REPLACE INSERT 语句,即 replace into 代替 insert into
  • ​--retries: 每次超时或死锁的重试次数,默认 1
  • ​--run-time: 运行多长时间后退出
  • ​--[no]safe-auto-increment: 默认值 yes,不会归档最大自增主键的行
  • ​--skip-foreign-key-checks: 禁用外键检查,相当于执行 SET FOREIGN_KEY_CHECKS=0
  • --stop: 创建一个哨兵文件,停止正在运行的 pt-archiver 进程

pt-archiver 命令相关推荐

  1. PT SDC命令持续更新中

    PT SDC PT sdc PT SDC 1.update_timing 2.WNS和TNS 3.shell环境中输出log 1.update_timing 在跑完pt时,快速修改约束查看结果 (1) ...

  2. Linux命令缩写来由

    A 命令 全称 功能 备注 apt AdvancedPackaging Tool APT用来自动下载,配置,安装二进制或者源代码格式的软件包   awk Aho Weiberger and Kerni ...

  3. 关于shared library的描述

    原文链接:https://blog.csdn.net/w_ww_w/article/details/7002880 以前搞共享库动态加载管理时找的一些资料,放在这里共享. 引言: 在xmeeting中 ...

  4. 用EDTS8对“吊死”用户进行自动释放

    我局去年12月流动市话开始投放市场,由于系统的配合问题,"小灵通"电话经常会处于"DIDLE&IDLE&DLUX"或"DIDLE&am ...

  5. 动态加载vs静态加载

    动态加载: 1:灵活,可以在需要的时候用LoadLibrary进行加载,在不需要的时候用FreeLibrary进行卸载,这样可以不必占用内存. 2:可以在没有dll时候发现,而不致程序报错. 3:加载 ...

  6. MySQL 5.5 主从复制异步、半同步以及注意事项详解

    大纲 一.前言 二.Mysql 基础知识 三.Mysql 复制(Replication) 四.Mysql 复制(Replication)类型 五.Mysql 主从复制基本步骤 六.Mysql 主从复制 ...

  7. Linux的.a、.so和.o文件

    .o 是中间结果,对应每个.c文件,对每个.c文件进行到汇编阶段,不链接 好多个.o文件合在一起,构成一个.a文件 .a文件时静态库,.so文件时动态库 使用ar(archiver)命令生成.a,ar ...

  8. Yolov8的多目标跟踪实现

    Yolov8_tracking 2023年2月,Yolov5发展到yolov8,这世界变得真快哦.Yolov8由ultralytics公司发布,yolov6-美团,yolov7-Alexey Boch ...

  9. Eviews简记——时间序列建模

    最近写论文建模时,需要用到eviews软件. 以前学过,但是基本忘了,前来做个记录. 创建工作文件 在命令输入窗口键入命令 Create 时间频率类型 起始期 终止期 例如 创建一个1990年到200 ...

  10. 上云挑战及Mybase设计理念和关键特性

    简介:MyBase的设计初衷在于解决用户们在上云中遇到的各种痛点,同时满足了公司各个角色对数据库的不同需求 MyBase的诞生背景 (一)上云的烦恼 目前数据库主要分为三类:线下自建数据库.云上自建数 ...

最新文章

  1. window.open
  2. linux redis 三种启动方式
  3. Android--强大的Toast实现多种效果
  4. “互联网+医疗健康” 行业调研报告
  5. 第17课:循环神经网络(RNN)
  6. iOS 中正则表达式的使用
  7. ambari 修改服务器名,Ambari修改主页面方法
  8. Spring Boot笔记-自定义配置项默认值设置
  9. SpringBoot 2.1.5(12)--- Spring Boot 特性上
  10. python modbus类封装_如何避免从入门到放弃——python小组学习复盘
  11. Python(arcpy) 批量shp转raster
  12. html字母分别代表什么,HTML 编码
  13. hda vs sda
  14. div+css实现水平/垂直/水平垂直居中超详解
  15. 富士协议转换网关WTGNet-FJ
  16. MacOS上安装有多个Java版本,如何卸载?
  17. 软件架构师 第一部分 基础篇 第二章 模块化
  18. C语言:输入三角形的边长,求出三角形的周长,面积和,若不能构成,则提示出来,
  19. 增加反链的35个技巧
  20. 第六课 511遇见易语言大漠找字FindStrFastEx打多怪实例

热门文章

  1. 12306验证码识别
  2. 尼古拉特斯拉 名言_尼古拉清洁技术的表面魅力
  3. CentOS6u9 网卡HWADDR和UUID信息重新生成和获取
  4. 2021-06-01-HPC-performance-test
  5. 计算机网络路由器的配置连接不上,路由器安装设置好后电脑还是不能上网解决办法...
  6. JSON与聚合数据不解之缘二
  7. 计算机设备图形符号,常用一次设备的图形符号和文字符号
  8. 抖音电影视频剪辑——电影版权问题
  9. 求95859回文数c语言程序,csdn 回文数
  10. 计算机信息计量单位kgm,工程单位换算表.pdf