博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL慢查询 ------ 开启慢查询
阅读量:6301 次
发布时间:2019-06-22

本文共 1960 字,大约阅读时间需要 6 分钟。

一、简介

开启慢查询日志,可以让MySQL记录下查询超过指定时间的语句,通过定位分析性能的瓶颈,才能更好的优化数据库系统的性能。

二、参数说明

slow_query_log 慢查询开启状态
slow_query_log_file 慢查询日志存放的位置(这个目录需要MySQL的运行帐号的可写权限,一般设置为MySQL的数据存放目录)
long_query_time 查询超过多少秒才记录

三、设置步骤

1.查看慢查询相关参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables like 
'slow_query%'
;
+---------------------------+----------------------------------+
| Variable_name             | Value                            |
+---------------------------+----------------------------------+
| slow_query_log            | OFF                              |
| slow_query_log_file       | /mysql/data/localhost-slow.log   |
+---------------------------+----------------------------------+
 
mysql> show variables like 
'long_query_time'
;
+-----------------+-----------+
| Variable_name   | Value     |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+

2.设置方法

方法一:全局变量设置
将 slow_query_log 全局变量设置为“ON”状态

1
mysql> set 
global 
slow_query_log=
'ON'
;

设置慢查询日志存放的位置

1
mysql> set 
global 
slow_query_log_file=
'/usr/local/mysql/data/slow.log'
;

查询超过1秒就记录

1
mysql> set 
global 
long_query_time=1;

方法二:配置文件设置

修改配置文件my.cnf,在[mysqld]下的下方加入

1
2
3
4
[mysqld]
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1

3.重启MySQL服务

1
service mysqld restart

4.查看设置后的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mysql> show variables like 
'slow_query%'
;
+---------------------+--------------------------------+
| Variable_name       | Value                          |
+---------------------+--------------------------------+
| slow_query_log      | ON                             |
| slow_query_log_file | /usr/local/mysql/data/slow.log |
+---------------------+--------------------------------+
 
mysql> show variables like 
'long_query_time'
;
+-----------------+----------+
| Variable_name   | Value    |
+-----------------+----------+
| long_query_time | 1.000000 |
+-----------------+----------+

四、测试

1.执行一条慢查询SQL语句

1
mysql> select sleep(2);

2.查看是否生成慢查询日志

1
ls /usr/local/mysql/data/slow.log

如果日志存在,MySQL开启慢查询设置成功!

本文转自 a928154159 51CTO博客,原文链接:http://blog.51cto.com/zhibeiwang/2061686

转载地址:http://mvwxa.baihongyu.com/

你可能感兴趣的文章
深入浅出分布式存储的设计与优化之道
查看>>
PageHelper的使用
查看>>
【高级数据类型】- 4.字典类型
查看>>
Myeclipse操作
查看>>
TextView动态设置图片
查看>>
Linux常用命令
查看>>
【83行代码获奖代码】高中生@青藤木子 耗费一周给妈妈编写了一款语音识别APP...
查看>>
安装PHP5、安装PHP7
查看>>
QuickBI助你成为分析师——搞定数据源
查看>>
关于vue路由跳转页面带参数方法总结
查看>>
推荐一个以动画效果显示github提交记录的黑科技工具:Gource
查看>>
数组的遍历及数组的去重
查看>>
轻量级内存计算引擎
查看>>
利用Rancher1.6部署K8s测试环境、开发环境
查看>>
Java反射在JVM的实现
查看>>
Google Java Style 中文版
查看>>
还在为测试发愁?10 个开源的压力/负载测试工具
查看>>
硬盘的原理以及SQL Server如何利用硬盘原理减少IO
查看>>
SpringMVC源码总结(九)HandlerMethodArgumentResolver介绍
查看>>
BAT等公司高薪招聘Android开发面试题目集锦
查看>>