Windows下安装使用mysqldumpslow

首先需要安装Perl,在windows下安装Perl,安装过程很简单,从官网 http://strawberryperl.com/ 下载windows安装包,安装好之后,测试perl -v,如果能显示版本号,表示安装成功。

mysqldumpslow是一个perl脚本,只需下载并赋权即可执行。

D:\MySQL Datafiles>perl mysqldumpslow.pl --help
 Usage: mysqldumpslow [ OPTS... ] [ LOGS... ]
Parse and summarize the MySQL slow query log. Options are
  --verbose    verbose
  --debug      debug
  --help       write this text to standard output
  -v           verbose
  -d           debug
  -s ORDER     what to sort by (al, at, ar, c, l, r, t), 'at' is default(排序方式)
                 al: average lock time(平均锁定时间)
                 ar: average rows sent(平均返回记录数)
                 at: average query time(平均查询时间)
                  c: count(访问计数)
                  l: lock time(锁定时间)
                  r: rows sent(返回记录)
                  t: query time(查询时间)
   -r           reverse the sort order (largest last instead of first)
   -t NUM       just show the top n queries(返回前面n条数据)
   -a           don't abstract all numbers to N and strings to 'S'
   -n NUM       abstract numbers with at least n digits within names
   -g PATTERN   grep: only consider stmts that include this string(正则匹配模式,大小写不敏感)
   -h HOSTNAME  hostname of db server for *-slow.log filename (can be wildcard),
                default is '*', i.e. match all
   -i NAME      name of server instance (if using mysql.server startup script)
   -l           don't subtract lock time from total time

使用示例:

  • 锁定时间最长的前10条
	perl mysqldumpslow.pl -s l -t 1 mysql_slow.log
  • 得到返回记录集最多的10个SQL
perl mysqldumpslow.pl -s r -t 10 mysql_slow.log
  • 得到访问次数最多的10个SQL
perl mysqldumpslow.pl -s c -t 10 mysql_slow.log
  • 得到按照时间排序的前10条里面含有左连接的查询语句
perl mysqldumpslow.pl -s t -t 10 -g “left join” mysql_slow.log
  • 另外建议在使用这些命令时结合 | 和more 使用 ,否则有可能出现刷屏的情况
perl mysqldumpslow.pl -s r -t 20 mysql_slow.log | more

windows 下mysql5.7 慢查询配置

查看慢配置查询的

show variables like ‘%query%’;

在这里插入图片描述

show variables like ‘long_query_time’ ; //可以显示当前慢查询时间
set long_query_time=1 ; //慢查询的时间默认为10秒 可以修改慢查询时间也可

mysql5.7 可以直接在配置文件my.ini 中写配置
/start*/
log_slow_admin_statements = ON
log_slow_slave_statements = ON
slow_query_log = 1 //开启慢查询 (很多博客说=on off ,我本机mysql实际是1 ,2 )
slow_query_log_file = E:\MySQL-5.7.13-winx64\data\pc-PC-slow.log //设置路径
long_query_time =1 //设置慢查询时间 超过一秒的记录
/end*/

以在my.ini种配置

/********************************************************/

查看sql语句执行时间
Show variables like ‘profiling’; 查看sql语句 性能分析
看profile是否开启 5.7的
mysql> show variables like ‘%profiling%’;
+————————+——-+
| Variable_name | Value |
+————————+——-+
| have_profiling | YES |
| profiling | ON |
| profiling_history_size | 15 |
+————————+——-+
set profiling=on; 开启profile
查看执行过的sql 的执行时间
show profiles;

mysql> show profiles;
+———-+————+——————————————————————————-+
| Query_ID | Duration | Query |
+———-+————+——————————————————————————-+
| 1 | 0.00081975 | explain select * from t_log_login where id=’46702e55f23911e49d5cac162d8aadd4’ |
| 2 | 0.00436950 | select * from t_log_login where id=’46702e55f23911e49d5cac162d8aadd4’ |
+———-+————+——————————————————————————-+
查询所花费的时间 query_id=1 的语句执行时间

select sum(duration) from information_schema.profiling where query_id=1; # Query ID = 1

查看 # Query ID = 1的执行时间
mysql> show profile for query 1;

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`mysqldumpslow` 是一个用于分析 MySQL 慢查询日志的命令行工具。下面是 `mysqldumpslow` 命令的基本使用方式: 1. 打开终端或命令提示符,输入以下命令: ``` mysqldumpslow [options] [log_file] ``` 2. `options` 是一些可选参数,可以根据需要进行配置。常用的选项包括: - `-s`:指定排序方式,可以是 `t` (按时间排序)、`l` (按锁定时间排序)、`r` (按返回结果排序)、`c` (按查询计数排序)、`a` (按平均查询时间排序)。 - `-t`:指定返回查询结果的数量。 - `-g`:指定匹配查询语句的正则表达式。 - `-r`:反向排序。 3. `log_file` 是慢查询日志文件的路径。如果不指定该参数,则默认使用 MySQL 配置文件中指定的慢查询日志路径。 以下是几个示例: - 分析默认慢查询日志文件,并按照执行时间排序: ``` mysqldumpslow -s t ``` - 分析指定慢查询日志文件,并按照平均查询时间排序,返回前10条结果: ``` mysqldumpslow -s a -t 10 /path/to/slow-query.log ``` - 分析慢查询日志文件,匹配包含特定关键字的查询语句,并按照执行时间反向排序: ``` mysqldumpslow -s t -g 'SELECT.*FROM table_name' -r ``` 注意:`mysqldumpslow` 命令需要有读取慢查询日志文件的权限。另外,确保已经启用了慢查询日志功能,并且相关日志已经记录下来。 希望这个回答能够帮到你!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值