北京SEO

mysql 慢查询日志开启与使用详解

2019/10/10/17:36:01  阅读:2007  来源:谷歌SEO算法  标签: 友情链接作弊

mysql 慢查询日志打开的方法很简单,我们只要设置set global long_query_time=0.000001;,这要就是毫秒级别以下的慢日志记录.

MySQL慢日志往往是大家定位SQL性能问题,通过慢日志分析可以调整索引使用,这是使用最多的一个功能.

目前MySQL也支持毫秒级别以下的慢日志记录,这个功能其实有很多用处,这里大概给大家讲解一下,该功能开启参数:long_query_time.

查看慢查询是否开启,代码如下:

  1. mysql>showvariableslike'%slow%';
  2. +---------------------+-------------------------+
  3. |Variable_name|Value|
  4. +---------------------+-------------------------+
  5. |log_slow_queries|ON|
  6. |slow_launch_time|2|
  7. |slow_query_log|ON|
  8. |slow_query_log_file|D:/log/slow.txt| --phpfensi.com
  9. +---------------------+-------------------------+

其中,各参数说明如下:

slow_launch_time:慢查询超过的执行时间值

slow_query_log:是否打开慢查询日志功能

show_query_log_file:慢查询日志目录

通常使用这个参数的几个环境,需要得到一个业务的所有SQL可以在测试环境中MySQL的long_query_time设置为0.000001,代码如下:

set global long_query_time=0.000001;

flush logs;

也可以直接在找到 MySQL 的配置文件,my.cnf(Windows 为 my.ini),在 MySQL 下增加下面几行:

log-slow-queries ="D:/xampp/mysql/long.txt"

long_query_time = 1

log-slow-queries=/var/lib/mysql/slowquery.log,指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log.

long_query_time=2 (记录超过的时间,默认为10s)

log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)

log-long-format (如果设置了,所有没有使用索引的查询也将被记录)

上面的 2 是查询的时间,即当一条 SQL 执行时间超过2秒的时候才记录,/usr/var/slowquery.log 是日志记录的位置.

然后重新启动MySQL服务

2、MySQL 配置文件的位置

Windows:Windows 的配置文件为 my.ini,一般在 MySQL 的安装目录下或者 c:Windows 下。

Linux:Linux 的配置文件为 my.cnf,一般在 /etc 下.

这样基本上所有对MySQL请求的sql都会记录到慢日志中,通过日志分析可以全面了解一下SQL样式及整体运行调用分布,重要的库可以考虑开启该参数记录相应的log用于审计使用.

同样对于生产环境,可以通过开启该参数,定期收集一下线上的SQL运行情况,做一些对比,方便了解目前线上SQL运行的情况,能更供更多的指导,有了慢查询日志,通过慢查询日志分析工具很容易得到一份不错的分析结果.

广告内容

mysql 慢查询日志开启与使用详解 mysql 慢查询日志开启与使用详解 mysql 慢查询日志开启与使用详解

相关阅读

热门评论

sunshine技术博客 sunshine技术博客

sunshine技术博客

总篇数164

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法