时间:2021-05-24
一、概述
本章主要写当慢查询文件很大的时候怎样在线生成一个新的慢查询文件。
测试环境:mysql 5.6.21
二、步骤
配置慢查询
默认的my.cnf文件在/etc/目录下
vim /etc/my.cnf
#slow_queryslow_query_log=1#开启慢查询slow_query_log_file=/var/lib/mysql/mysql-slow.log #设置慢查询路径long_query_time=0.01#设置慢查询时间配置完要重启mysql服务才生效
查询慢查询配置是否成功
测试慢查询
use information_schema;select * from tables;语句执行时间花了:1.1秒,返回了314行记录;
查看慢查询文件:cat mysql-slow.log
慢查询日志文件中记录了每一天慢查询记录,每一条记录都是以Time:开头;记录了包含登入信息,查询所花的时间,锁花的时间,返回的行数,扫描的记录数,执行的语句。
在线生成慢查询日志文件
1.关闭全局慢查询
复制代码 代码如下:SET global slow_query_log=0
查询是否关闭全局慢查询
复制代码 代码如下:SHOW VARIABLES LIKE '%query_log%';
设置一个新的慢查询文件
复制代码 代码如下:SET global slow_query_log_file='/var/lib/mysql/mysql-slow_new.log'
开启慢查询
复制代码 代码如下:SET global slow_query_log=1;
复制代码 代码如下:SHOW VARIABLES LIKE '%query_log%';
在慢查询路径中可以看到生成了一个新的慢查询文件。
后面的慢查询信息会记录到新的日志文件当中,
这时我们可以mv以前的慢查询文件进行归档了。
重启mysql服务
service mysql restart
复制代码 代码如下:SHOW VARIABLES LIKE '%query_log%';
当重启mysql服务之后,慢日志文件会重新变成之前的在my.cnf里面设置的文件,所以如果你想要重启服务之后慢日志文件还是刚才设置的mysql-slow_new.log的话你就需要在修改全局设置的同时再修改my.cnf文件,这样就能保证重启之后文件还是之前修改的文件。
总结
配置慢查询对平时收集性能差的语句很有帮助,也有很多工具专门来分析慢查询日志的,其中percona-toolkit就是一个很不错的分析慢查询的工具,如果没有使用可以去了解一下。
以上就是本文的全部内容,希望对大家的学习有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
今天在分析mysql的慢查询,发现文件太大了,分析必然会占用太多的io,所以就需要先清空慢查询文件,借此机会分享一下linux/unix下清空文件的方法:使用/
根据mysql慢日志监控SQL语句执行效率启用MySQL的log-slow-queries(慢查询记录)。在Linux环境下先要找到my.cnf文件(一般在/e
在开发项目中,我们可以通过MySQL的慢查询日志对有效率问题的SQL进行监控。下面一些命令是开启日志:查找慢查询日志文件的目录showvariableslike
Mysql慢查询解释MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query
慢查询日志相关参数MySQL慢查询的相关参数解释:slow_query_log:是否开启慢查询日志,1表示开启,0表示关闭。slow_query_log:是否开