Percona-Toolkit系列(21) --- pt-secure-collect

pt-secure-collect

pt-secure-collect:官方地址

说明

用途:收集、清理、打包和加密数据。

语法:

pt-secure-data [<flags>] <command> [<args> ...]

默认情况下会收集以下命令的结果:pt-stalk,pt-summary,pt-mysql-summary\

  • 收集
    pt-secure-collect collect <flags>
    
  • 解密
    pt-secure-collect decrypt [flags] <input file>
    
  • 加密
    pt-secure-collect encrypt [flags] <input file>
    
  • 清理
    pt-secure-collect sanitize [flags]
    

具体例子

收集信息

以非加密方式收集MySQL信息并且不删除临时文件。

[root@BigData ~]# pt-secure-collect collect --bin-dir=/usr/bin \
--temp-dir="/root/pt_collection" --no-encrypt --no-remove-temp-files \
--mysql-host=localhost --mysql-port=3306 --mysql-user=root --mysql-password=123

INFO[2019-07-31 15:41:37] Creating temporary directory: /root/pt_collection
INFO[2019-07-31 15:41:37] Temp directory is "/root/pt_collection"
INFO[2019-07-31 15:41:37] Creating output file "/root/pt_collection/pt-stalk_2019-07-31_15_41_37.out"
INFO[2019-07-31 15:41:37] Running pt-stalk --no-stalk --iterations=2 --sleep=30 --host=localhost --dest=/root/pt_collection --port=3306 --user=root --password=********  --调用pt-stalk命令
INFO[2019-07-31 15:43:09] Creating output file "/root/pt_collection/pt-summary_2019-07-31_15_43_09.out"
INFO[2019-07-31 15:43:09] Running pt-summary    --调用pt-summary命令
INFO[2019-07-31 15:43:16] Creating output file "/root/pt_collection/pt-mysql-summary_2019-07-31_15_43_16.out"
INFO[2019-07-31 15:43:16] Running pt-mysql-summary --host=localhost --port=3306 --user=root --password=********   --调用pt-mysql-summary命令
NFO[2019-07-31 15:43:28] Sanitizing output collected data
INFO[2019-07-31 15:44:08] Creating tar file "/root/pt_collection/pt_collection.tar.gz"

会在/root/pt_collection目录下个压缩文件,其他文件为临时文件,如下:

[root@BigData pt_collection]# ls
2019_07_31_15_41_37-df              2019_07_31_15_41_37-opentables2     2019_07_31_15_42_07-hostname        2019_07_31_15_42_07-processlist
2019_07_31_15_41_37-disk-space      2019_07_31_15_41_37-output          2019_07_31_15_42_07-innodbstatus1   2019_07_31_15_42_07-procstat
2019_07_31_15_41_37-diskstats       2019_07_31_15_41_37-pmap            2019_07_31_15_42_07-innodbstatus2   2019_07_31_15_42_07-procvmstat
2019_07_31_15_41_37-hostname        2019_07_31_15_41_37-processlist     2019_07_31_15_42_07-interrupts      2019_07_31_15_42_07-ps
2019_07_31_15_41_37-innodbstatus1   2019_07_31_15_41_37-procstat        2019_07_31_15_42_07-iostat          2019_07_31_15_42_07-slabinfo
2019_07_31_15_41_37-innodbstatus2   2019_07_31_15_41_37-procvmstat      2019_07_31_15_42_07-iostat-overall  2019_07_31_15_42_07-slave-status
2019_07_31_15_41_37-interrupts      2019_07_31_15_41_37-ps              2019_07_31_15_42_07-log_error       2019_07_31_15_42_07-sysctl
2019_07_31_15_41_37-iostat          2019_07_31_15_41_37-slabinfo        2019_07_31_15_42_07-lsof            2019_07_31_15_42_07-top
2019_07_31_15_41_37-iostat-overall  2019_07_31_15_41_37-slave-status    2019_07_31_15_42_07-meminfo         2019_07_31_15_42_07-transactions
2019_07_31_15_41_37-log_error       2019_07_31_15_41_37-sysctl          2019_07_31_15_42_07-mpstat          2019_07_31_15_42_07-trigger
2019_07_31_15_41_37-lsof            2019_07_31_15_41_37-top             2019_07_31_15_42_07-mpstat-overall  2019_07_31_15_42_07-variables
2019_07_31_15_41_37-meminfo         2019_07_31_15_41_37-transactions    2019_07_31_15_42_07-mutex-status1   2019_07_31_15_42_07-vmstat
2019_07_31_15_41_37-mpstat          2019_07_31_15_41_37-trigger         2019_07_31_15_42_07-mutex-status2   2019_07_31_15_42_07-vmstat-overall
2019_07_31_15_41_37-mpstat-overall  2019_07_31_15_41_37-variables       2019_07_31_15_42_07-mysqladmin      pt_collection.tar.gz           --是最后生成的打包文件
2019_07_31_15_41_37-mutex-status1   2019_07_31_15_41_37-vmstat          2019_07_31_15_42_07-netstat         pt-mysql-summary_2019-07-31_15_43_16.out
2019_07_31_15_41_37-mutex-status2   2019_07_31_15_41_37-vmstat-overall  2019_07_31_15_42_07-netstat_s       pt-stalk_2019-07-31_15_41_37.out
2019_07_31_15_41_37-mysqladmin      2019_07_31_15_42_07-df              2019_07_31_15_42_07-opentables1     pt-summary_2019-07-31_15_43_09.out
2019_07_31_15_41_37-netstat         2019_07_31_15_42_07-disk-space      2019_07_31_15_42_07-opentables2
2019_07_31_15_41_37-netstat_s       2019_07_31_15_42_07-diskstats       2019_07_31_15_42_07-output
2019_07_31_15_41_37-opentables1     2019_07_31_15_42_07-dmesg           2019_07_31_15_42_07-pmap

加密文件

输入加密密码即可

[root@BigData pt_collection]# pt-secure-collect encrypt /root/messages --outfile=/root/messages.aes
Encryption password:
Re type password:
INFO[2019-07-31 16:01:00] Encrypting file "/root/messages" into "messages.aes"

解密文件

输入解密密码即可

[root@BigData ~]# pt-secure-collect decrypt /root/messages.aes  --outfile= /root/messages.des
Encryption password:
INFO[2019-07-31 16:03:01] Decrypting file "/root/messages.aes" into "messages"

注意:这里不管输入的密码和原加密密码一样不一样,都不会提示错误信息,但是会造成解密后的文件内容错乱。

清理内容

使用?或主机名来替换文件中查询语句

如下

--源文件内容

[root@BigData ~]# cat test.txt
select name,id from lei where a='1' and name='wo';
commit;

--清理后的内容
[root@BigData ~]# pt-secure-collect sanitize --input-file=/root/test.txt
select name,id from lei where a=? and name=?;
commit;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章