mysql(pt-archiver)数据归档工具

注意:PT-ARCHIVER不能使用root用户  

参数说明:

--source  h   主机  P 端口    u  用户  p密码 D 数据库   t 表名

--dest      h   主机  p 端口    u  用户  p密码 D 数据库   t 历史表

--where   归档条件

--progress=5000 每处理5000行输出一次进度

--check-charset 指定字符符

--check-statistics 

--charset=utf8  字符集设置

--limit=10000   每次取10000行处理

--bulk-insert    批量插入

--bulk-delete   批量删除

--txn-size=1000    每1000行一次事务提交

--statistics          执行过程输出及操作统计

--no-delete      不删除旧数据            

1.创建备份表

create table zxdba_bak.t_cct_contact_20181112  like  ngcct_sd.t_cct_contact


2.归档数据,本次归档2018-01-01日前的数据。


pt-archiver \

--source h=192.168.155.98,P=20002,u=inception,p='密码',D=ngcct_sd,t=t_cct_contact \

--dest    h=192.168.155.98,P=20002,u=inception,p='密码',D=zxdba_bak,t=t_cct_contact1112 \

--where 'BGN_CNTMNG_TIME<"2018-01-01 00:00:00"' \

--progress 10000 --check-charset   --statistics --charset=utf8 --limit=10000  --txn-size=1000 \

--bulk-delete   --purge  


3.查询zxdba_bak库中表zxdba_bak.t_cct_contact_20181112  是否备份成功。

select count(*)  from  zxdba_bak.t_cct_contact_20181112 


4.查询ngcct_sd库中 表t_cct_contact中 2018-01-01 00:00:00 之前的数据是否被删除

select *  from  t_cct_contact where  BGN_CNTMNG_TIME<"2018-01-01 00:00:00" limit 5;

                                  

5.去到对应淮安环境的库中,查看表  t_cct_contact中 2018-01-01 00:00:00 之前的数据是否被删除

select *  from  t_cct_contact where  BGN_CNTMNG_TIME<"2018-01-01 00:00:00" limit 5;


只归档不删除原数据

pt-archiver --source h=192.168.155.231,P=20002,u=bkpuser,p='密码',D=ngcct_gx,t=t_cct_contact \

--dest h=192.168.155.231,P=20002,u=bkpuser,p='密码',D=zxdba_bak,t=t_ucp_contactcontrol_his \

--where 'SESSION_BGN_TIME<"2017-06-25 22:30:00"' \

--progress 10000 --check-charset   --statistics --charset=utf8 --limit=10000  --txn-size=1000   --bulk-delete --no-delete


报错信息:

处理方法:  请开启local_infile

开启步骤:

set global local_infile=1;

  

posted @ 2022-02-25 10:28  zsh~  阅读(136)  评论(0编辑  收藏  举报