Mysql慢查询日志的开启与应用
来源:互联网 发布:南风知我意温南百度云 编辑:程序博客网 时间:2024/06/05 17:21
1.什么是慢查询日志?
Mysq的慢查询日志指得是Mysql提供的一种日志记录,它用来记录在Mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会记录到慢查询日志中。long_ query_time的默认值是秒,即超过10秒的SQL语句将会被记录到慢查询日志中。
默认情况下Mysql的慢查询日志是没有开启的,需要我们手动配置参数来开启。如果不是为了调优,建议最好不要开启,因为慢查询日志或多或少会带来一些性能的影响。慢查询日志支持将日志写入文件。
2.常用命令
show variables like'%slow_query_log%';
该命令用于查看当前慢查询日志是否开启及存放目录。
Linux下
set global slow_query_log=1;
通过对global slow_query_log参数的配置,可以开启慢查询日志,但是只对当前数据库有效,Mysql重启后则失效。
如果要永久生效,就需要修改my.cfg文件。
在其[Mysqld]下增加:
slow_query_log=1
slow_query_log_flie=自定义log文件存放的目录
SHOW VARIABLES LIKE ‘%long_query_time%’;
如上图所示,默认是10s,该参数也可以修改,如需要长期有效,也需要在my.cnf文件中配置。
set global long_query_time=3;
设置完成后重新启动一个会话,设置时间才会生效。
需要注意的是,这里配置的时间是允许的最大时间,只有sql的运行的时间大于long_query_time时,才会将这条sql记录在日志。
这里为了测试,我们输入select sleep(4)这条sql,看看执行完成后是否可以将其记录在日志文件中。
.查看日志文件
show global status like '%slow_queries%';
该命令用来查看当前系统下有多少条慢sql;
在实际的项目中,如何手动的分析日志,查找分析sql,无疑是一个耗时耗力的事。Mysql给我们提供了一个分析日志的工具——mysqldumpslow
可以通过mysqldumpslow–help;
以下是部分常用的选项:
在实际的开发中,通过对选项的组合使用,来分析sql,对sql进行优化。
- Mysql慢查询日志的开启与应用
- mysql慢查询日志开启与分析
- 开启Mysql的慢查询日志
- 开启MySQL慢查询日志
- mysql 开启慢查询日志
- 【mysql】开启慢查询日志
- mysql 开启慢查询日志
- 开启MySQL慢查询日志
- MYSQL开启慢查询日志
- 开启mysql慢查询日志
- mysql慢查询日志开启
- mysql开启慢查询日志
- MySQL开启慢查询日志
- MYSQL开启慢查询日志
- Mysql开启慢查询日志
- 开启mysql慢查询日志
- 开启mysql慢查询日志
- 开启mysql慢查询日志
- Java基础应用之运算符(位运算加密)
- Redis Sentinel机制与用法(一)
- 「转载」Linux线程死锁
- Java随机生成Mac地址(GitHub源码下载)
- SQL语句之增删查改、多表查询,模糊查询
- Mysql慢查询日志的开启与应用
- Redis Sentinel 机制与用法(二)
- mysql安装远程连接失败404 解决办法
- HDU 2089 不要62——数位dp
- eclipse汉化
- Spring IOC 容器
- 图论基本概念2
- linux下:ubuntu输入法fcitx开机无法自启动
- Android Softap开启流程分析