安装和使用percona-toolkit来辅助操作MySQL的基本教程

2019-01-04 19:38:21于丽

用法介绍:

pt-query-advisor /path/to/slow-query.log pt-query-advisor --type genlog mysql.log pt-query-digest --type tcpdump.txt --print --no-report | pt-query-advisor

 
使用示例:
分析一个语句的例子:

pt-query-advisor --query "select * from aaa"

分析general log中的查询语句的例子:

pt-query-advisor /data/dbdata/general.log

分析慢查询中的查询语句的例子:

pt-query-advisor /data/dbdata/localhost-slow.log

 
4.  pt-show-grants
功能介绍:
规范化和打印mysql权限,让你在复制、比较mysql权限以及进行版本控制的时候更有效率!
用法介绍:
pt-show-grants [OPTION...] [DSN]
选项自行用help查看,DSN选项也请查看help,选项区分大小写。
使用示例:
查看指定mysql的所有用户权限:

pt-show-grants --host='localhost' --user='root' --password='zhang@123'

查看执行数据库的权限:

pt-show-grants --host='localhost' --user='root' --password='zhang@123' --database='hostsops'

查看每个用户权限生成revoke收回权限的语句:

pt-show-grants --host='localhost' --user='root' --password='zhang@123' --revoke

 
5.  pt-upgrade
功能介绍:
在多台服务器上执行查询,并比较有什么不同!这在升级服务器的时候非常有用,可以先安装并导数据到新的服务器上,然后使用这个工具跑一下sql看看有什么不同,可以找出不同版本之间的差异。
用法介绍:
pt-upgrade [OPTION...] DSN [DSN...] [FILE]
比较文件中每一个查询语句在两个主机上执行的结果,并检查在每个服务器上执行的结果、错误和警告。
使用示例:
只查看某个sql在两个服务器的运行结果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 --query="select * from user_data.collect_data limit 5"

查看文件中的对应sql在两个服务器的运行结果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 aaa.sql

查看慢查询中的对应的查询SQL在两个服务器的运行结果范例:

pt-upgrade h='localhost' h=192.168.3.92 --user=root --password=zhang@123 slow.log

此外还可以执行compare的类型,主要包含三个query_times,results,warnings,比如下面的例子,只比较sql的执行时间

pt-upgrade h=192.168.3.91 h=192.168.3.92 --user=root --password=zhang@123 --query="select * from user_data.collect_data" --compare query_times