mysql数据归档工具

2022/2/25 19:24:33

本文主要是介绍mysql数据归档工具,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

  

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



这篇关于mysql数据归档工具的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程