Percona Toolkit工具使用 您所在的位置:网站首页 数据库pt工具 Percona Toolkit工具使用

Percona Toolkit工具使用

#Percona Toolkit工具使用| 来源: 网络整理| 查看: 265

Percona Toolkit简称pt工具—PT-Tools,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等

下载地址为: https://www.percona.com/downloads/percona-toolkit/LATEST/

安装:

percona-toolkit-3.0.13_x86_64.tar.gz 下载 tar -xf percona-toolkit-3.0.13_x86_64.tar.gz 解压 cd percona-toolkit-3.0.13/bin cp * /usr/bin [root@mycat bin]# pt-slave-restart --version pt-slave-restart 3.0.13 [root@mycat ~]# pt pt-align pt-config-diff pt-fingerprint pt-kill pt-online-schema-change pt-slave-delay pt-table-sync ptar pt-deadlock-logger pt-fk-error-logger ptksh pt-pmp pt-slave-find pt-table-usage pt-archiver pt-diskstats pt-heartbeat pt-mext pt-query-digest pt-slave-restart pt-upgrade ptardiff pt-duplicate-key-checker pt-index-usage pt-mongodb-query-digest pt-secure-collect pt-stalk pt-variable-advisor ptargrep pt-fifo-split pt-ioprofile pt-mongodb-summary pt-show-grants pt-summary pt-visual-explain ptaskset pt-find ptked pt-mysql-summary pt-sift pt-table-checksum ptx

  

1.pt-archive ----MySQL的在线归档,无影响生产

2.pt-kill -----自定义查杀。确保慢查询及恶性攻击对生产无影响

3.pt-online-schema-change ----在线DDL操作,对上亿的大表加索引加字段且对生产无影响

4.pt-query-digest -----慢查询Log的分析。

5.pt-slave-delay ---就是指定从库比主库延迟多长时间

6.pt-table-checksum & pt-table-sync-----检查主从是否一致性-----检查主从不一致之后用这个工具进行处理 这两个一搬是搭配使用

7. pt-find ---找出几天之前建立的表

8. pt-slave-restart -----主从报错,跳过报错

9.pt-summary ---整个系统的的概述

10.pt-mysql-summary ---MySQL的表述,包括配置文件的描述

11.pt-duplicate-key-checker ---检查数据库重复索引

 

pt-archive解释使用:##归档 用此操作的表必须有主键。

1.归档历史数据;

2.在线删除大批量数据;

3.数据导出和备份;

4.数据远程归档;

5.数据清理

1.pt-archive –help 参数,用这可以help一下

几个常用说明

--limit10000       每次取1000行数据用pt-archive处理    

--txn-size  1000   设置1000行为一个事务提交一次,    

--where‘id{user} || "") =~ m/^root/i' /web/mysql/data/chinapen40-slow.log  > slow_report5.log

pt-slave-delay ###---就是指定从库比主库延迟多长时间—---从库上执行

工作原理: 通过启动和停止从服务器的sql线程来设置从落后于主。它是通过slave的relay log(中继日志)的position(偏移量),不断启动,关闭replication SQL thread来保持主从一直延时固定长的时间来实现。因此不需要连接到主服务器。如果IO进程不落后主服务器太多的话,这个检查方式还是有效的,如果IO线程延时过大,pt-slave-delay也可以连接到主库来获取binlog的位置信息。

pt-slave-delay --delay=1m --interval=15s --run-time=10m u=root,p=123456,h=127.0.0.1,P=6006 --从服务器上执行

参数解释:

--delay :从库延迟主库的时间,上面为1分钟。

--interval :检查的间隔时间,上面为15s检查一次。(可选),不选则1分钟检查一次(默认)。

--run-time :该命令运行时间,上面为该命令运行10分钟关闭。(可选),不选则永远运行。--一搬不加此参数

pt-table-checksum & pt-table-sync ###-----检查主从是否一致性-----检查主从不一致之后用这个工具进行处理 这两个一搬是搭配使用(一搬主从不一样肯定要查一下,不能直接修复就完事了。这个大家可用于辅助工具。)

参数讲解:

replicate=test.checksum:主从不一致的结果放到哪一张表中,一般我放在一个既有的数据库中,这个checksum表由pt-table-checksum工具自行建立。

databases=testdb :我们要检测的数据库有哪些,这里是testdb数据库,如果想检测所有数据库那么就不要写这个参数了,如果有多个数据库,我们用逗号连接就可以了。 host='127.0.0.1' :主库的IP地址或者主机名。

user=dba :主机用户名。 ---确定此用户可以访问主从数据库

port=6006:主库端口号。

recursion-method=hosts :主库探测从库的方式。

empty-replicate-table:清理上一次的检测结果后开始新的检测。

no-check-bin-log-format:不检查二进制日志格式,鉴于目前大多数生产数据库都将二进制日志设置为“ROW”格式,而我们的pt-table-checksum会话会自行设定使用“STATEMENT”格式,所以这个选项请务必加上。

例:

pt-table-checksum --nocheck-replication-filters  --no-check-binlog-format --replicate=test.checksums --recursion-method=hosts --databases=log_manage  h=localhost,u=sys_dba,p='密码',P=6006

结果参数:

TS :完成检查的时间。

ERRORS :检查时候发生错误和警告的数量。

DIFFS :0表示一致,1表示不一致。当指定--no-replicate-check时,会一直为0,当指定--replicate-check-only会显示不同的信息。

ROWS :表的行数。

CHUNKS :被划分到表中的块的数目。

SKIPPED :由于错误或警告或过大,则跳过块的数目。

TIME :执行的时间。

TABLE :被检查的表名

检测有差异之后到从库上执行一下修复

注:用这个前提是此表必须要有主键或唯一索引

pt-table-sync --sync-to-master --replicate=test.checksums h=127.0.0.1,u=dba,P=6006,p=‘密码’ --print ---------只打印不执行—看详细

pt-table-sync --sync-to-master --replicate=test.checksums h=127.0.0.1,u=dba,P=6006,p=‘密码’ --execute ----开始执行就修复了,再看一下就OK了 再检测就没有了

pt-slave-restart ###-----主从报错,跳过报错(基本不用)

--always :永不停止slave线程,手工停止也不行              

--ask-pass :替换-p命令,防止密码输入被身后的开发窥屏              

--error-numbers:指定跳过哪些错误,可用,进行分隔 

--error-text:根据错误信息进行匹配跳过 

 --log:输出到文件

 --recurse:在主端执行,监控从端      

 --runtime:工具执行多长时间后退出:默认秒, m=minute,h=hours,d=days              

--slave-user --slave-password :从库的账号密码,从主端运行时使用              

--skip-count:一次跳过错误的个数,胆大的可以设置大些,不指定默认1个              

--master-uuid   :级联复制的时候,指定跳过上级或者上上级事务的错误              

--until-master  :到达指定的master_log_pos,file位置后停止, 格式:”file:pos“              

--until-relay   :和上面一样,但是时根据relay_log的位置来停止

例:

自动跳过主从同步1032的报错 建议大家在从库上如下这个就可以了,多个以逗号隔开就可以了

/usr/bin/pt-slave-restart --user=root --password=‘密码' --port=6006 --host=127.0.0.1 --error-numbers=1032

Pt-summary ###打印出来的信息包括:CPU、内存、硬盘、网卡等信息,还包括文件系统、磁盘调度和队列大小、LVM、RAID、网络链接信息、netstat 的统计,以及前10的负载占用信息和vmstat信息

使用:Pt-summary 就可以

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有