mysql 5.6开启慢查询
今天公司同事过来问我,他在测试服务器上把mysql的慢查询开启了,怎么没有日志生成,我当场就笑他说是不是没有配置对,他很肯定的给我说是正确的,去他位置上看了看,发现慢查询没有启动,但看了下my.cnf又有写配置,当时就感觉很奇怪,搜了下mysql版本,发现原来mysql版本是5.6.14的,找到了脚本就很好解决问题了.
下面是解决方法:
原来的my.cnf配置文件:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
slow-query-log-file=/var/log/mysql/slow.log
long_query_time=0.03
log-queries-not-using-indexes
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
max_connections=3000
.....
这里我就不整完了,只贴出关键的.
修改后的my.cnf配置文件:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
slow_query_log=on
slow-query-log-file=/var/log/mysql/slow.log
long_query_time=0.03
log-queries-not-using-indexes
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
max_connections=3000
.....
修改完配置文件后,记得保存重启mysql服务.
ps:
当然也可以在mysql里直接开启慢查询:
mysql>set global slow_query_log='ON';
查询慢查询是否开启:
mysql> show variables like "slow_query_log";
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
1 row in set (0.00 sec)
当然也可以用下面的命令:
mysql> show variables like "%query%";
+------------------------------+-------------------------+
| Variable_name | Value |
+------------------------------+-------------------------+
| binlog_rows_query_log_events | OFF |
| ft_query_expansion_limit | 20 |
| have_query_cache | YES |
| long_query_time | 0.030000 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/slow.log |
+------------------------------+-------------------------+
13 rows in set (0.00 sec)
最后检查/var/log/mysql/slow.log的用户和组是否为mysql,权限是否可写,并且查看slow.log的文件大小是否有改变,这样才说明慢查询是开启成功了的,并且有记录到日志文件里.
ps:
http://my.oschina.net/moooofly/blog/160201
http://blog.itpub.net/29291882/viewspace-1064074/
http://bbs.chinaunix.net/thread-4099047-1-1.html
下面是解决方法:
原来的my.cnf配置文件:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
slow-query-log-file=/var/log/mysql/slow.log
long_query_time=0.03
log-queries-not-using-indexes
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
max_connections=3000
.....
这里我就不整完了,只贴出关键的.
修改后的my.cnf配置文件:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
slow_query_log=on
slow-query-log-file=/var/log/mysql/slow.log
long_query_time=0.03
log-queries-not-using-indexes
character-set-server=utf8
collation-server=utf8_unicode_ci
init-connect='SET NAMES utf8'
max_connections=3000
.....
修改完配置文件后,记得保存重启mysql服务.
ps:
log-slow-queries:代表MYSQL慢查询的日志存储目录,此目录文件一定要有写权限.
long_query_time:最长执行时间.(单位是秒)
log-queries-not-using-indexes:没有使用到索引的查询也将被记录在日志中.
当然也可以在mysql里直接开启慢查询:
mysql>set global slow_query_log='ON';
查询慢查询是否开启:
mysql> show variables like "slow_query_log";
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
1 row in set (0.00 sec)
当然也可以用下面的命令:
mysql> show variables like "%query%";
+------------------------------+-------------------------+
| Variable_name | Value |
+------------------------------+-------------------------+
| binlog_rows_query_log_events | OFF |
| ft_query_expansion_limit | 20 |
| have_query_cache | YES |
| long_query_time | 0.030000 |
| query_alloc_block_size | 8192 |
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | OFF |
| query_cache_wlock_invalidate | OFF |
| query_prealloc_size | 8192 |
| slow_query_log | ON |
| slow_query_log_file | /var/log/mysql/slow.log |
+------------------------------+-------------------------+
13 rows in set (0.00 sec)
最后检查/var/log/mysql/slow.log的用户和组是否为mysql,权限是否可写,并且查看slow.log的文件大小是否有改变,这样才说明慢查询是开启成功了的,并且有记录到日志文件里.
怎么测试自己的查询是否会被记录下来呢?
运行语句:
select sleep(0.13);
http://my.oschina.net/moooofly/blog/160201
http://blog.itpub.net/29291882/viewspace-1064074/
http://bbs.chinaunix.net/thread-4099047-1-1.html
评论: