mysql开启慢查询简单方式

1. 查询慢查询相关信息

show variables like 'slow_query%';  # 查询慢查询是否开启以及位置

返回结果

slow_query_log	OFF
slow_query_log_file	F:\javaSoft\mysql\data\Data\CH-20190219IIDR-slow.log


show variables like 'long_query_time'; #sql超过多长时间就认为是慢查询,单位为s 默认为10s

返回结果

long_query_time	10.000000


默认是不开启的,你有两种方式选择


方式一,通过命令行配置,不需要重启mysql服务器


set global slow_query_log='ON'; #开启慢日志查询
set global long_query_time=1;#设置查询超过1s就为慢sql
set global slow_query_log_file='/opt/zxc.slow'; #设置慢查询日志位置

注意  long_query_time 设置后需要在下一个会话才会生效,就是你关闭数据库然后重新打开


方式二, 走配置文件

linux下,如果是Windows的,就是在my.ini 文件进行配置,需要重启数据库服务器
修改配置文件my.cnf,在[mysqld]下的下方加入

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


不过不建议用配置文件中,一般也是你要优化的时候临时开启一下而已



执行测试语句


select sleep(2);   #执行一条查询两s的sql语句,  mysql提供的语法


然后到你存放慢日志的位置查询一下


F:\javaSoft\mysql\bin\mysqld, Version: 5.5.61 (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: MySQL
Time                 Id Command    Argument
# Time: 190412 16:19:38
# User@Host: root[root] @ localhost [127.0.0.1]
# Query_time: 20.000298  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0
use test;
SET timestamp=1555057178;
select sleep(2);


有类型的信息那就是配置成功了



如果要关闭那就 set global slow_query_log='OFF'; #关闭这个

其实还是挺简单的吧,抓到慢sql语句后,然后再利用  explain 关键字去分析了,主要还是在于优化索引,这个涉及的东西比较多,暂时就不在这里说了,有时间我会回来改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值