pt工具常用命令

pt工具介绍

Percona Toolkit简称pt工具,是Percona公司开发用于管理MySQL的工具,功能包括检查主从复制的数据一致性、检查重复索引、定位IO占用高的表文件、在线DDL等,DBA熟悉掌握后将极大提高工作效率。


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

CentOS 7下安装
[root@testdb_172_16_123_101 /root]# yum -y install https://www.percona.com/downloads/percona-toolkit/3.0.1/binary/redhat/7/x86_64/percona-toolkit-3.0.1-1.el7.x86_64.rpm


1. pt-ioprofile的使用
这个工具可以定位哪个文件IO占用比较高
原理是对某个pid附加一个strace进程进行IO分析, --profile-pid指定pid, --cell=sizes,该参数将结果已 B/s 的方式展示出来
[root@testdb_172_16_123_101 /root]# yum -y install strace
[root@testdb_172_16_123_101 /root]# ps aux | grep mysqld
mysql     5178  0.0 16.4 1087412 209504 ?      Sl   Mar05   0:44 /usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf
root     10174  0.0  0.0 112648   960 pts/0    R+   12:38   0:00 grep --color=auto mysqld
[root@testdb_172_16_123_101 /root]# pt-ioprofile --profile-pid=5178 --cell=sizes
Tue Mar  7 12:38:22 CST 2017
Tracing process ID 5178
     total      write      lseek  ftruncate filename
     15332       7666       7666          0 /data/mysql/mysql3306/data/innodb_status.5178
         0          0          0          0 /data/mysql/mysql3306/tmp/ibFRPjUp


2. pt-duplicate-key-checker 检查冗余索引
[root@testdb_172_16_123_101 /root]# pt-duplicate-key-checker --socket=/tmp/mysql3306.sock --user=root --password=mysql --databases=testdb
# ########################################################################
# testdb.t1                                                               
# ########################################################################

# i_uid is a left-prefix of i_uid_name
# Key definitions:
#   KEY `i_uid` (`uid`),
#   KEY `i_uid_name` (`uid`,`name`)
# Column types:
#  `uid` int(11) not null comment 'udi'
#  `name` varchar(10) not null comment 'username'
# To remove this duplicate index, execute: #提示说找到冗余索引,并用以下SQL删除
ALTER TABLE `testdb`.`t1` DROP INDEX `i_uid`; 

# ########################################################################
# Summary of indexes                                                      
# ########################################################################

# Size Duplicate Indexes   4
# Total Duplicate Indexes  1
# Total Indexes            3
[root@testdb_172_16_123_101 /root]# mysql -S /tmp/mysql3306.sock -uroot -p
Enter password: 
root@localhost [(none)]>ALTER TABLE `testdb`.`t1` DROP INDEX `i_uid`;
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0
root@localhost [(none)]>exit
Bye
[root@testdb_172_16_123_101 /root]# pt-duplicate-key-checker --socket=/tmp/mysql3306.sock --user=root --password=mysql --databases=testdb
# ########################################################################
# Summary of indexes                                                      
# ########################################################################

# Total Indexes  2

你可能感兴趣的:(pt工具常用命令)