pt工具(一)归档MySQL数据

mysql pt工具
中文先注意字符集的问题 ,不然中文是乱码

[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
collation-server = utf8mb4_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8mb4
apt-get install percona-toolkit
root@jenkins:~# pt
pt-align                  pt-config-diff            pt-find                   pt-ioprofile              pt-pmp                    pt-slave-find             pt-table-sync             ptx
ptar                      pt-deadlock-logger        pt-fingerprint            pt-kill                   pt-query-digest           pt-slave-restart          pt-table-usage            
pt-archiver               pt-diskstats              pt-fk-error-logger        pt-mext                   pt-show-grants            pt-stalk                  pt-upgrade                
ptardiff                  pt-duplicate-key-checker  pt-heartbeat              pt-mysql-summary          pt-sift                   pt-summary                pt-variable-advisor       
ptargrep                  pt-fifo-split             pt-index-usage            pt-online-schema-change   pt-slave-delay            pt-table-checksum         pt-visual-explain         

主要就是如下这些工具,很多用的都不是特别多,下面我主要给大家介绍对DBA来说是杀手锏的几个,用的很
多,效率也极高。

---Level 1 (必须一定掌握)
1.pt-archive ----MySQL的在线归档,无影响生产
2.pt-kill -----自定义查杀。确保慢查询及恶性攻击对生产无影响
3.pt-online-schema-change ----在线DDL操作,对上亿的大表加索引加字段且对生产无影响
3.pt-query-digest -----慢查询Log的分析。
pt-archive: ---归档 用此操作的表必须有主键

--limit10000 每次取1000行数据用pt-archive处理
--txn-size 1000 设置1000行为一个事务提交一次,
--where‘id<3000‘ 设置操作条件
--progress5000 每处理5000行输出一次处理信息
--statistics 输出执行过程及最后的操作统计。(只要不加上--quiet,默认情况下pt-archive都会输出执行过程的)
--charset=UTF8 指定字符集为UTF8—这个最后加上不然可能出现乱码。
--bulk-delete 批量删除source上的旧数据(例如每次1000行的批量删除操作)

1.归档历史数据;
2.在线删除大批量数据;
3.数据导出和备份;
4.数据远程归档;
5.数据清理

举例

# 归档到文件
pt-archiver \
--source h=localhost,u=root,p=xxxxx,P=3306,D=fuck,t=ooxx \
--file '/opt/send_antispam_202108_10.txt' \
--progress 5000 --where 'mail_send_time<"2021-11-01 00:00:00"' \
--no-delete --statistics --charset=UTF8 --limit=10000 \
--no-check-charset

2021-11-11T11:39:56     295 1325000
2021-11-11T11:39:57     296 1330000
2021-11-11T11:39:58     297 1332202
Started at 2021-11-11T11:35:01, ended at 2021-11-11T11:39:58
Source: A=UTF8,D=fuck,P=3306,h=localhost,p=...,t=ooxx,u=root
SELECT 1332202
INSERT 0
DELETE 0
Action          Count       Time        Pct
commit        1332203   106.0943      35.68
print_file    1332202    24.0266       8.08
select            135     5.6231       1.89
other               0   161.6468      54.36
# 归档到表并删除
# --no-delete 不加这个参数就删除了
pt-archiver --source h=localhost,P=3306,u=root,p=xxxxxx,D=fuck,t=xxoo \
--dest h=localhost,P=3306,u=root,p=xxxxxx,D=fuck,t=xxoo_202108_10 \
--no-check-charset --where 'mail_send_time<"2021-11-01 00:00:00"' --progress 5000 --limit=10000 --statistics
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值