Perconatools 简明教程.docx
《Perconatools 简明教程.docx》由会员分享,可在线阅读,更多相关《Perconatools 简明教程.docx(75页珍藏版)》请在第一文库网上搜索。
1、Perconatools简明教程1、pt-query-digest使用ptquerydigest工具可以通过慢查询日志、普通查询日志、binlog对MySQL中的查询语句进行分析,也可以通过SHOW PROCESSLIST语句输出信息,以及tcpdump抓取的MySQL协议数据对MySQL中的查询语句进行分析。在默认情况下,分析输出结果是按照对语句生成的指纹值进行分组的(去除常量值,对语句进行标准化格式转换),统计出各查询语句的执行时间、次数、占比等,且按照每条语句的查询时间进行降序排列输出(最慢的查询最先打印)。如果在使用pt-query-digest时没有指定任何输入文件,则该工具会从ST
2、DIN中获取数据。 可以将输出结果直接打印在标准输出设备上,也可以保存到历史表中供后续审查。 对于处理的结果,可以使用一些筛选参数进行过滤,例如:可以查看指定时间段、指定语句类型、某个用户的信息,甚至对于SELECT语句还可以进一步筛选查询类型(如FULL JOIN) o使用方法:pt-query-digest (OPTIONS FILES DSN命令行选项 -ask-pass:在连接MySQL时会提示输入密码。 -charset,A:设置数据库的默认字符集,字符串类型,默认值为utf8。如果保持默认值utf8,则将Perl的binmode在STDOUT上设置为utf8,将mysql_enab
3、le_utf8选项传递给DBD:mysql,在连接到MySQL服务器之后执行SET NAMES UTF8语句修祓字符集为该选项指定的utf8。 -config:指定以逗号分隔的配置文件列表。如果使用该选项,则需要将它放在所有选项之前(作为命令行中的第一个选项)。 -nocontinue-on-error:即使出现错误,也仍然继续解析所给定的文件。但是如果累计达到100个错误,则解析会停止(表明PT工具可能存在Bug或者输入文件中的信息无效)。该选项默认启用-continue-onerror,如果需要禁用,则可以使用no-continue-onerror选项。 -nocreate-history
4、-table:当使用-history选项时(表示把解析结果保存到history表中),若history表不存在,则使用该选项来创建表。该选项默认启用-create-history-table,如果需要禁用,则可以使用-no-create-history-table选项。 nocreate-review-table:当使用-review选项时(表示把解析结果保存到review表中),若review表不存在,则使用该选项来创建表。该选项默认启用-create-review- table,如果需要禁用,则可以使用-no-create-review-table选项。 -daemonize:使用daem
5、on方式运行(仅限POSIX操作系统)。 -database,-D:字符串类型值。指定需要连接的数据库名称。 -defaults-file, -F:字符串类型值。仅从给定的文件中读取MySQL配置参数(需要指定配置文件的绝对路径)。 -filter:该选项指定一段Perl代码字符串或包含Perl代码的文件(文件中不要包含#!/usr/bin/perl行),表示将丢弃此Perl代码未返回true的事件数据(也就是说,对于输入的慢查询语句按照指定的字符串进行匹配过滤后再进行分析)。该代码在执行时会被编译成类似于sub Sevent = shift; filter& return$event;的格式
6、,其中filter就是该选项指定的字符串值或者在文件中指定的内容。如果只有一个过滤器,或者没有if-else等复杂的判断逻辑,则可以使用-filter选项直接在命令行指定filter字符串;但是如果存在多个过滤器或者需要使用if-else等复杂的判断逻辑(此时在命令行指定不会生效),则需要在文件中指定,然后使用-filter选项指定filter代码从文件中读取(例如:filter.txt: Hmy $event_ok;if(.)$event_ok= 1; else $event_ok=0; $event_ok,然后指定”filter filter.txt”从filter.txt中读取代码)。p
7、tquery-digest不提供任何代码保护措施,所以在编写过滤器代码时要仔细一些(如果过滤器代码无法被编译,则pt-query-digest将报错退出;如果过滤器代码编译成功,但执行代码时发生一些逻辑错误,则运行时仍然可能会发生错误并退出)。以下是一些过滤器代码示例。 匹配SELECT语句:-filter$event-arg= m/Aselect/i,它将被编译成sub$event = shift;( $event-arg = m/Aselect/i) & return Sevent; 程序。 host/IP地址与匹配:filteT($event-host | $event-ip | ) =
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Perconatools 简明教程 简明 教程