注意: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;