Preface
 
    There's a common case that we neet to archive amount of records in some tables to a file or another table in different database even delete them directly.Is there a tool can do all these jobs with satisfying way?Surely it is.pt-archiver can help us archiving that various archive jobs.
 
Introduce
 
    pt-archiver is a single tool of Percona-Toolkit suits which is produced by percona company.It provides  flexible way to archive your data in tables.Let's see the detail of it.
 
Procedure
 
 ###Download and install Percona-Toolkit###
[root@zlm2 :: ~]wget https://www.percona.com/downloads/percona-toolkit/3.0.10/binary/redhat/7/x86_64/percona-toolkit-3.0.10-1.el7.x86_64.rpm
-- Omitted.
[root@zlm2 :: ~]yum -y localinstall percona-toolkit-3.0.-.el7.x86_64.rpm
-- Omitted.
Installed:
percona-toolkit.x86_64 :3.0.-.el7 Dependency Installed:
perl-Compress-Raw-Bzip2.x86_64 :2.061-.el7 perl-Compress-Raw-Zlib.x86_64 :2.061-.el7 perl-DBD-MySQL.x86_64 :4.023-.el7
perl-DBI.x86_64 :1.627-.el7 perl-Data-Dumper.x86_64 :2.145-.el7 perl-Digest.noarch :1.17-.el7
perl-Digest-MD5.x86_64 :2.52-.el7 perl-IO-Compress.noarch :2.061-.el7 perl-IO-Socket-IP.noarch :0.21-.el7
perl-IO-Socket-SSL.noarch :1.94-.el7 perl-Mozilla-CA.noarch :-.el7 perl-Net-Daemon.noarch :0.48-.el7
perl-Net-LibIDN.x86_64 :0.12-.el7 perl-Net-SSLeay.x86_64 :1.55-.el7 perl-PlRPC.noarch :0.2020-.el7
perl-TermReadKey.x86_64 :2.30-.el7 Complete! ###After install the Percona-Toolkit,you can check all the tools it contains by command below:###
[root@zlm2 :: ~]man percona-tookit
TOOLS
This release of Percona Toolkit includes the following tools: pt-align
Align output from other tools to columns. pt-archiver
Archive rows from a MySQL table into another table or a file. pt-config-diff
Diff MySQL configuration files and server variables. pt-deadlock-logger
Log MySQL deadlocks. pt-diskstats
An interactive I/O monitoring tool for GNU/Linux. pt-duplicate-key-checker
Find duplicate indexes and foreign keys on MySQL tables. pt-fifo-split
Split files and pipe lines to a fifo without really splitting. pt-find
Find MySQL tables and execute actions, like GNU find. pt-fingerprint
Convert queries into fingerprints. pt-fk-error-logger
Log MySQL foreign key errors. pt-heartbeat
Monitor MySQL replication delay. pt-index-usage
Read queries from a log and analyze how they use indexes. pt-ioprofile
Watch process IO and print a table of file and I/O activity. pt-kill
Kill MySQL queries that match certain criteria. pt-mext
Look at many samples of MySQL "SHOW GLOBAL STATUS" side-by-side. pt-mysql-summary
Summarize MySQL information nicely. pt-online-schema-change
ALTER tables without locking them. pt-pmp
Aggregate GDB stack traces for a selected program. pt-query-digest
Analyze MySQL queries from logs, processlist, and tcpdump. pt-show-grants
Canonicalize and print MySQL grants so you can effectively replicate, compare and version-control them. pt-sift
Browses files created by pt-stalk. pt-slave-delay
Make a MySQL slave server lag behind its master. pt-slave-find
Find and print replication hierarchy tree of MySQL slaves. pt-slave-restart
Watch and restart MySQL replication after errors. pt-stalk
Collect forensic data about MySQL when problems occur. pt-summary
Summarize system information nicely. pt-table-checksum
Verify MySQL replication integrity. pt-table-sync
Synchronize MySQL table data efficiently. pt-table-usage
Analyze how queries use tables. pt-upgrade
Verify that query results are identical on different servers. pt-variable-advisor
Analyze MySQL variables and advise on possible problems. pt-visual-explain
Format EXPLAIN output as a tree. ###See the parameter of pt-archiver.###
[root@zlm2 :: ~]#pt-archiver --help
-- Omitted. ###Parameters demonstration.###
Indispensible parameter:
--source [-h|-S] -u -P -D -A Choose only one below:
--dest=d -- Usually be used to archive records to another table(can be different instance).
--purge -- Usually be used to purge records instead of archive them.
--file=s -- Usually be used to archive records into a file. Performance ralevant:
--analyze=s -- Run analyze table after archive.
--optimize=s -- Run optimize table after archive.
--ascend-first -- Ascend just first column of index.
--buffer -- Buffer output to file and flush when commit.
--bulk-delete -- Delete by chunk.
--bulk-insert -- Insert by chunk.
--limit=i -- Rows of per statment when arching,default .
--txn-size=i -- Rows of per trx,default .
--primary-key-only -- Merely use primary key. Infermation output:
--progress=i -- Print per i rows.
--statistics -- Print time statistics. Others parameters:
--dry-run -- Just print queries without real doing.
--retries=i -- Times of when retry,default .
--no-delete -- Specify not to delete archived records in source table. ###Take care the rules when specify parameters.###
Specify at least one of --dest, --file, or --purge. -- There're three mode of achive behavior.
--ignore and --replace are mutually exclusive.
--txn-size and --commit-each are mutually exclusive. -- Usually I'd rather use "txn-size" to specify the timing of commit depending amount of transactions.
--low-priority-insert and --delayed-insert are mutually exclusive.
--share-lock and --for-update are mutually exclusive.
--analyze and --optimize are mutually exclusive. -- I don't recommend use "analyze" or "optimize" when archive tables simultaneously,but afterward does when business not busy.
--no-ascend and --no-delete are mutually exclusive.
DSN values in --dest default to values from --source if COPY is yes.
Summary
  • pt-achiver is useful when archive your records of big tables.
  • Make sure that your table has index key on it.Otherwise,it will lead to bad performance when archive.
  • Plz distinguish these two parameter —— "no-delete"&"purge",they are differently used.
  • More testing is necessary to make out the performance influenced by different parameter.

Percona-Toolkit工具包之pt-archiver的更多相关文章

  1. Percona Toolkit mysql辅助利器

    1 PT介绍 Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在 ...

  2. Percona Toolkit工具使用

    Percona Toolkit简称pt工具-PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性.检查重复索引.定位IO占用高的表文件.在线DDL等 下 ...

  3. Centos 安装Percona Toolkit工具集

    1.下载 下载地址:   https://www.percona.com/downloads/percona-toolkit/LATEST/ [root@bogon ~]# wget https:// ...

  4. RDS for MySQL 如何使用 Percona Toolkit

    Percona Toolkit 包含多种用于 MySQL 数据库管理的工具. 下面介绍常用的 pt-online-schema-change  和  pt-archiver 搭配 RDS MySQL ...

  5. Percona Toolkit工具集介绍

    部署mysql工具是一个非常重要的部分,所以工具的可靠性和很好的设计非常重要.percona toolkit是一个有30多个mysql工具的工具箱.兼容mysql,percona server,mar ...

  6. Want to archive tables? Use Percona Toolkit’s pt-archiver--转载

    原文地址:https://www.percona.com/blog/2013/08/12/want-to-archive-tables-use-pt-archiver/ Percona Toolkit ...

  7. Percona Toolkit工具连接MySQL 8报错的解决方案

    使用Percona Toolkit的工具连接MySQL 8.x数据库时,会遇到类似"failed: Plugin caching_sha2_password could not be loa ...

  8. Percona Toolkit 使用

    安装 percona-toolkit perl Makefile.PL make make test make install 默认安装到 /usr/local/bin 目录下 可能需要 DBI-1. ...

  9. 使用Percona Toolkit解决Mysql主从不同步问题【备忘】

    由于各种原因,mysql主从架构经常会出现数据不一致的情况出现,大致归结为如下几类 1:备库写数据 2:执行non-deterministic query 3:回滚掺杂事务表和非事务表的事务 4:bi ...

  10. Percona Toolkit 2.2.19 is now available

    New Features: 1221372: pt-online-schema-change now aborts with an error if the server is a slave, be ...

随机推荐

  1. 多结果集IMultipleResult接口

    在某些任务中,需要执行多条sql语句,这样一次会返回多个结果集,在应用程序就需要处理多个结果集,在OLEDB中支持多结果集的接口是IMultipleResult. 查询数据源是否支持多结果集 并不是所 ...

  2. 靠谱的div引入任何外链内容

    靠谱的div引入任何外链内容 开发中经常要在div中引入一个页面,该页面可能是内部页面,可能是一个外部页面,也可能只是一个域名获取的请求. 对于内部页面的加载,建议使用jquery的load函数,如: ...

  3. 原生js实现星星闪烁的效果

    星星闪烁的原理其实很简单: html代码: <body style="background:#000"> <div id="stars_box" ...

  4. user purchase behavior:

    user purchase behavior: 参考网址: online shopping frequent https://www.bigcommerce.com/blog/ecommerce-tr ...

  5. SELECT * FROM pet WHERE name REGEXP 'w';

    To find names containing a “w”, use this query: SELECT * FROM pet WHERE name REGEXP 'w';

  6. Java—IO流 RandomAccessFile类

    RandomAccessFile java提供的对文件内容的访问,既可以读文件,也可以写文件. 支持随机访问文件,可以访问文件的任意位置. java文件模型,在硬盘上的文件是byte byte byt ...

  7. centos7部署ethereum私有链

    https://github.com/ethereum/go-ethereum/wiki http://book.8btc.com/books/6/ethereum/_book/public-chai ...

  8. nginx下的nagios pnp4nagios

    #Spawn-FCGI 一个通用的FastCGI管理服务器,它是lighttpd中的一部份,很多人都用Lighttpd的Spawn-FCGI进行FastCGI模式下的管理工作 #fcgiwrap(Si ...

  9. c++利用互斥锁实现读写锁

    很简单就是在读的时候把写的锁锁住就好了 class readwrite_lock { public: readwrite_lock() : read_cnt(0) { } void readLock( ...

  10. SQL SERVER 2012断日志

    有一个SQL2012库的日志达到了100G左右,平时开发人员根本没有做过事务日志备份,而磁盘空间已经快满了.所以,只能截断它.但是,由于从2K8以后,SQL SERVER好像不再提供 truncate ...