如何动态开启mysql的慢查询日志记录
2015-09-13 22:55
721 查看
如何动态开启mysql的慢查询日志记录
开启mysql的慢查询日志记录方法有好多种,可以在启动mysql时通过命令行传参,也可以在配置文件里设置,但是这两种方法都需要重启mysql,而且如果不需要记录慢查询日志了,又要重启mysql,这对于已经投入运营的MySQL是不可接受的。
幸好在mysql5.1中已经为我们提供了在线设置慢查询日志的方法,通过设置mysql系统变量就可以达到这个目的。这样就不用重启mysql了。
在线开启慢查询日志:
mysql > set global slow_query_log=1;
mysql > set global long_query_time=2;
mysql > set global slow_query_log_file='mysql-slow.log';
如果不需要记录慢查询了,可以很方便的关闭:
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,且只能为整型。
开启mysql的慢查询日志记录方法有好多种,可以在启动mysql时通过命令行传参,也可以在配置文件里设置,但是这两种方法都需要重启mysql,而且如果不需要记录慢查询日志了,又要重启mysql,这对于已经投入运营的MySQL是不可接受的。
幸好在mysql5.1中已经为我们提供了在线设置慢查询日志的方法,通过设置mysql系统变量就可以达到这个目的。这样就不用重启mysql了。
在线开启慢查询日志:
mysql > set global slow_query_log=1;
mysql > set global long_query_time=2;
mysql > set global slow_query_log_file='mysql-slow.log';
如果不需要记录慢查询了,可以很方便的关闭:
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,且只能为整型。
相关文章推荐
- Mysql的主从复制功能
- MySQL 事件跟踪器 , MySQL 无须重启服务 跟踪 SQL , 也无须配置日志
- 【MySQL】Access denied for user 'root'@'127.0.0.1' (using password: YES)解决方法
- mysql 让一个存储过程定时作业的代码(转)
- mysql锁知识小了解
- 按图索骥,一些mysql知识点
- mysql出现Data truncated for column
- 学mysql必须了解的东西
- MySQL 查询数据表里面时间字段为今天添加的计数
- mysql的对表的增删改查
- MySQL数据库事务隔离级别(Transaction Isolation Level)
- MySQL数据库查询步骤和缓存原理
- mysql中date、datetime、time、timestamp之间的使用
- [原]MySQL哈希之哈希索引
- mysql
- MySQL触发器
- Mysql group by语句的优化
- MySQL查看一个表的创建文本以及删除表某列的索引
- Mysql添加外键约束
- 【总结】修改mysql密码的办法