pt-archiver数据归档
2018-06-18 01:30:38来源:未知 阅读 ()
可以使用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=8379 ,http://www.mamicode.com/info-detail-1903758.html
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- MySQL启动错误怎么办 2020-02-26
- Mysql支持的数据类型有哪些 2020-02-26
- HTML、JS与PHP之间的数据传输 2019-09-23
- MySQL性能优化的20条经验 2019-09-23
- TP5 paginate()分页后给结果集追加字段和数据 2019-09-17
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash