Percona Toolkit工具使用 | 您所在的位置:网站首页 › 数据库pt工具 › Percona Toolkit工具使用 |
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 实验室设备网 版权所有 |