percona-toolkit工具包的安装和使用
原文出自:http://www.cnblogs.com/zping/p/5678652.html
percona-toolkit是个很实用的工具集,之前只使用了它的部分功能,后来有机会深入接触,才发现它的功能很全面,从管理、开发到监控都有对应的工具。
1.检查和安装与Perl相关的模块
PT工具是使用Perl语言编写和执行的,所以需要系统中有Perl环境。
依赖包检查命令为:rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
如果有依赖包确实,可以使用下面的命令安装:
yum install perl-DBI
yum install perl-DBD-MySQL
yum install perl-Time-HiRes
yum install perl-IO-Socket-SSL
wget http://pkgs.repoforge.org/perl-TermReadKey/perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm
rpm -ivh perl-TermReadKey-2.30-1.el3.rf.x86_64.rpm
wget https://www.percona.com/downloads/percona-toolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm
rpm -ivh percona-toolkit-2.2.14-1.noarch.rpm
如果不能下载: 直接进入页面下载rpm包:
1,https://centos.pkgs.org/ 搜索: perl-TermReadKey 下载
2,https://www.percona.com/downloads/ 进入下载页面下载
注意:需要安装Term::ReadKey 包,否则会报perl(Term::ReadKey) is needed by percona-toolkit-2.2.14-1.noarch
2:下载和安装percona toolkit的包
http://pkgs.repoforge.org/perl-TermReadKey/(key)
https://www.percona.com/downloads/percona-toolkit/ (tool)
安装后,可以通过下面的命令确认是否安装成功:
# pt-query-digest --help
# pt-table-checksum --help
如果命令提示可以正常显示,则说明pt工具已经正常安装和使用了。
有的32个命令,可以分为7大类:
上面是pt工具各个命令的基本功能介绍,可以使用 command --help 来查看每个命令的具体作用和使用方法;
有的命令也可以使用 man command 命令查询相关命令详细信息。
目前使用的比较多的命令是: pt-query-digest ,pt-kill等命令。
加字段:
pt-online-schema-change --alter "add column attribute3 varchar(100)" h=192.168.1.142,P=3306,p=cc.123,u=root,D=orabenlai,t=oraesb --no-check-replication-filters --execute
说明: 1, 如果有 binlog_ignore_db = mysql 选型会报check-replication-filters 错误,必须加上 --no-check-replication-filters
2,--execute 前面是有2个"-"
列出重复的索引和主键,并打印出删除语句:
pt-duplicate-key-checker -h 172.16.59.99 -u dba_huzj -p 123456 -P 43306 -d eifta
pt-heartbeat 检查主从延迟
创建心跳检测表:
pt-heartbeat --check -h 172.16.59.99 -u dba_huzj -p 123456 -P 43306 --database=eifta --create-table --master-server-id=16059099
在主库上启动更新表:
pt-heartbeat -D eifta --update -h 172.16.59.99 -u dba_huzj -p 123456 -P 43306 --daemonize
监控从的延迟情况:
pt-heartbeat --check -D eifta -h 172.16.59.100 -u dba_huzj -p 123456 -P 43306
pt-table-checksum一致性校验:
pt-table-checksum --nocheck-replication-filters --no-check-binlog-format --replicate=172.16.59.100 --databases=eifta -h 172.16.59.99 -u dba_huzj -p 123456