Windows下 MySQL慢查询配置修改

Windows下 MySQL慢查询配置修改,第1张

在剖析服务器性能的过程中,慢查询是一个很好的工具。

我们可以通过设置slow_query_log来开启慢查询日志,long_query_time属性来设置慢查询定义阈值,设置slow_query_log_file来定义慢查询日志的存储文件。

当前环境是windows10,Mysql8.0.15版本。

show global variables like 'slow_query%'

show global variables like 'long_query%'

set global slow_query_log_file='F:ATempslowly.log'

set global long_query_time=2,单位为秒,可以通过设置long_query_time为0 来捕获所有的查询。

select sleep(3);

生成的日志:

C:Program FilesMySQLMySQL Server 8.0binmysqld.exe, Version: 8.0.15 (MySQL Community Server - GPL). started with:

TCP Port: 3306, Named Pipe: MySQL

Time Id Command Argument

# Time: 2021-05-19T14:38:24.960151Z

# User@Host: root[root] @ localhost [::1] Id: 14

# Query_time: 3.000456 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0

use env

SET timestamp=1621435101

select sleep(3)

LIMIT 0, 1000

包含的信息包括执行查询的用户,查询的语句以及发起时间等。

正在学习,如果有误或不足,请指出交流。

开启mysql慢查询日志

查看配置:

//查看慢查询时间

show variables like "long_query_time"默认10s

//查看慢查询配置情况

show status like "%slow_queries%"

//查看慢查询日志路径

show variables like "%slow%"

修改配置文件

在my.ini中加上下面两句话

log-slow-queries = D:\wamp\mysql_slow_query.log

long_query_time=5

第一句使用来定义慢查询日志的路径(因为是windows,所以不牵涉权限问题)

第二句使用来定义查过多少秒的查询算是慢查询,我这里定义的是5秒

第二步:查看关于慢查询的状态

执行如下SQL语句来查看mysql慢查询的状态

show variables like '%slow%'

执行结果会把是否开启慢查询、慢查询的秒数、慢查询日志等信息打印在屏幕上。

第三步:执行一次慢查询 *** 作

其实想要执行一次有实际意义的慢查询比较困难,因为在自己测试的时候,就算查询有20万条数据的海量表,也只需要0.几秒。我们可以通过如下语句代替:

SELECT SLEEP(10)

第四步:查看慢查询的数量

通过如下sql语句,来查看一共执行过几次慢查询:

show global status like '%slow%'

mysql日志的配置:

注意:这些日文件在mysql重启的时候才会生成

#记录所有sql语句

log=E:/mysqllog/mysql.log

#记录数据库启动关闭信息,以及运行过程中产生的错误信息

log-error=E:/mysqllog/myerror.log

# 记录除select语句之外的所有sql语句到日志中,可以用来恢复数据文件

log-bin=E:/mysqllog/bin

#记录查询慢的sql语句

log-slow-queries=E:/mysqllog/slow.log

#慢查询时间

long_query_time=0.5


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7206693.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-02
下一篇 2023-04-02

发表评论

登录后才能评论

评论列表(0条)

保存