• pt-archiver数据归档


    可以使用percona-toolkit包中的pt-archiver工具来进行历史数据归档

    pt-archiver使用的场景:

    1、清理线上过期数据。

    2、清理过期数据,并把数据归档到本地归档表中,或者远端归档服务器。

    3、两张表之间的数据不完全相同,希望合并。此时加上–ignore或–replace选项,可以轻松实现。

    4、导出线上数据,到线下数据作处理。

    例子:

    pt-archiver --source h=127.0.0.1,P=3306,D=database,t=table,u=root,p=123456 --dest h=127.0.0.1,P=3306,D=database,t=new_table,u=root,p=123456 --no-check-charset --where 'id>100' --progress 1000 --no-delete --limit=1000 --statistics

    参数说明:

    --statistics:结束的时候给出统计信息:开始的时间点,结束的时间点,查询的行数,归档的行数,删除的行数,以及各个阶段消耗的总的时间和比例,便于以此进行优化。
    --where:给出表中要处理的数据的查询条件。
    --progress:每处理progress指定的行数后,就打印一次信息。
    --no-delete:表示不删除原来的数据,注意:如果不指定此参数,所有处理完成后,都会清理原表中的数据。
    --limit:表示每次事务删除多少条数据,默认1条(注意:如果数据比较多时,也可以设置大一些,减少循环次数)。
    --txn-size:每个事务提交的数据行数(包括读写操作),批量提交,增加该值可以提升归档性能。
    --file:数据存放的文件,最好指定绝对路径,文件名可以灵活地组合(另外,我测试过写文件与不写文件速度几乎差不多,原本以为不写文件速度会快)。
    --charset=UTF8 指定字符集为UTF8
    --no-check-charset 不指定字符集
    --bulk-delete 批量删除source上的旧数据(例如每次1000行的批量删除操作)
    --bulk-insert 批量插入数据到dest主机 (看dest的general log发现它是通过在dest主机上LOAD DATA LOCAL INFILE插入数据的)
    --replace 将insert into 语句改成replace写入到dest库
    --sleep120 每次归档了limit个行记录后的休眠120秒(单位为秒)
    --local 不把optimize或analyze操作写入到binlog里面(防止造成主从延迟巨大)
    --retries 超时或者出现死锁的话,pt-archiver进行重试的间隔(默认1s)
    --no-version-check 目前为止,发现部分pt工具对阿里云RDS操作必须加这个参数
    --analyze=ds 操作结束后,优化表空间(d表示dest,s表示source)
    --purge 删除source数据库的相关匹配记录,不归档删除数据

    参考:http://www.ywnds.com/?p=8379http://www.mamicode.com/info-detail-1903758.html

  • 相关阅读:
    JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
    IDEL——maven的搭建
    JDBC——Mysql 5.7绿色版配置安装过程
    JAVA的面向对象编程--------课堂笔记
    Javaweb第九章、jsp引入JSTL
    jsp引入JSTL后实现jsp的解耦
    servret的引入
    网页设计学习笔记小结
    jdk和Tomcat环境变量设置
    SLZ-VMware虚拟机_ORACLE安装监听器
  • 原文地址:https://www.cnblogs.com/wsl222000/p/9025216.html
Copyright © 2020-2023  润新知