zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    C++中struct和class的区别
    关于LBP特征等价模式的解释
    常用的颜色模型
    flask类装饰器
    flask的方法视图
    flask standrad class 使用
    flask add_url_rule的使用
    模板的继承
    模板变量设置 set 和 with
    模版include的用法
  • 原文地址:https://www.cnblogs.com/wsl222000/p/9025216.html
Copyright © 2011-2022 走看看