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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章