分享

如何动态开启mysql的慢查询日志记录

 guli3057 2014-05-06
    开启mysql的慢查询日志记录方法有好多种,可以在启动mysql时通过命令行传参,也可以在配置文件里设置,但是这两种方法都需要重启mysql,而且如果不需要记录慢查询日志了,又要重启mysql,这对于已经投入运营的MySQL是不可接受的。
幸好在mysql5.1中已经为我们提供了在线设置慢查询日志的方法,通过设置mysql系统变量就可以达到这个目的。这样就不用重启mysql了。

在线开启慢查询日志:

  1. mysql > set global slow_query_log=1;
  2. mysql > set global long_query_time=2;  //set long_query_time=2 才能修改成功
  3. mysql > set global slow_query_log_file='mysql-slow.log';

如果不需要记录慢查询了,可以很方便的关闭:


  1. mysql > set global slow_query_log=0;

注意:在5.1.29以前用的是log_slow_queries变量,5.1.29及之后的版本log_slow_queries变量就用slow_query_log变量代替了。slow_query_log指定开启还是关闭,slow_query_log_file指定日志文件filename,long_query_time指定慢查询的值。

注意2:long_query_time变量从MySQL 5.1.21开始,可以被设置的最小值为0,且精度可以被设置到微秒级(例如值可以被设置为 1.000002,即1秒又2微秒);而在5.1.21之前的版本,这个变量可以被设置的最小值为1,且只能为整型。


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多