一、开启慢查询日志

通过show global variables like '%slow%' #查看MySQL慢查询日志是否开启

[root@mysqlmaster01 ~]# mysql --login-path=mysql57
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 21
Server version: 5.7.20-log MySQL Community Server (GPL)

Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show variables like '%slow%';
+---------------------------+----------+
| Variable_name | Value |
+---------------------------+----------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | slow.log |
+---------------------------+----------+
5 rows in set (0.01 sec)

  • show variables like "long_query_time";  #查看MySQL慢查询时间设置,默认2秒(mysql5.7) 

mysql> show global variables like 'long%';
+-----------------+----------+
| Variable_name | Value |
+-----------------+----------+
| long_query_time | 2.000000 |
+-----------------+----------+
1 row in set (0.01 sec)

  • log-queries-not-using-indexes = on  #记录未使用索引的查询

mysql> show global variables like '%queri%';
+----------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------+-------+
| log_queries_not_using_indexes | OFF |
| log_throttle_queries_not_using_indexes | 0 |
+----------------------------------------+-------+
2 rows in set (0.00 sec)

mysql> show global variables like 'log%slow%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| log_slow_admin_statements | OFF |
| log_slow_slave_statements | OFF |
+---------------------------+-------+
2 rows in set (0.00 sec)

二) 安装mysqlsla分析慢查询日志

[root@mysqlmaster01 ~]#yum install  wget  perl  perl-DBI  perl-DBD-MySQL  mysql perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker cpan  perl-Time-HiRes

[root@mysqlmaster01 ~]# wget http://soft.51yuki.cn/mysqlsla-2.03.tar

[root@mysqlmaster01 ~]# tar xf mysqlsla-2.03.tar
[root@mysqlmaster01 ~]# cd mysqlsla-2.03

[root@mysqlmaster01 mysqlsla-2.03]# perl Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for mysqlsla
[root@mysqlmaster01 mysqlsla-2.03]# make && make install

案例:

#查询记录最多的20个sql语句,并写到select.log中去

mysqlsla -lt slow --sort t_sum --top 20  /data/mysql/127-slow.log >/tmp/select.log

#统计慢查询文件为/data/mysql/127-slow.log的所有select的慢查询sql,并显示执行时间最长的100条sql,并写到sql_select.log中去

mysqlsla -lt slow  -sf "+select" -top 100  /data/mysql/127-slow.log >/tmp/sql_select.log

#统计慢查询文件为/data/mysql/127-slow.log的数据库为mydata的所有select和update的慢查询sql,并查询次数最多的100条sql,并写到sql_num.sql中去

mysqlsla -lt slow  -sf "+select,update" -top 100 -sort c_sum  -db mydata /data/mysql/127-slow.log >/tmp/sql_num.log

最新文章

  1. 设置二级域名共享一级域名Cookie和删除共享Cookie
  2. BizTalk动手实验(一)安装BizTalk Server 2010开发环境
  3. Creater中选择一行的方法
  4. Resource is out of sync with the file system的解决办法
  5. oracle中的dual表详解
  6. __FILE__,__LINE__,FUNCTION__
  7. 2016 ACM/ICPC Asia Regional Qingdao Online 1002 Cure
  8. HTML最基础的入门(上)
  9. GoWorld – 用Golang写一个分布式可扩展、可热更的游戏服务器
  10. Python 导入模块
  11. java中的notify和notifyAll有什么区别?
  12. day12函数,三元表达式 ,列表推导式 ,字典推导式,函数对象,名称空间与作用域,函数的嵌套定义
  13. http摘要认证
  14. gentoo qt-creator no examples
  15. python导入requests库一直报错原因总结 (文件名与库名冲突)
  16. MFS故障测试及维护总结
  17. PAT A1029 Median (25 分)——队列
  18. 基于nopCommerce的开发框架(附源码)
  19. 【LOJ】#2230. 「BJOI2014」大融合
  20. Win10 C盘根目录权限

热门文章

  1. Maven创建本地仓库
  2. 安装Genymotion模拟器(第三方)
  3. 优化你的HTTPS(上),你需要这么做
  4. C#格式化信息,格式化数字、格式化日期
  5. Mac+appium+iOS 环境搭建
  6. redis-4.0.14 cluster 配置实战
  7. AtCoder NIKKEI Programming Contest 2019 E. Weights on Vertices and Edges (并查集)
  8. [GraphQL] Reuse GraphQL Selection Sets with Fragments
  9. mysql更新数据,条件为实时查询出来的数据
  10. 使用VS创建三层架构的项目