mysql 5.6开启慢查询
时间:2014-12-12 02:20 来源:linux.it.net.cn 作者:it.net.cn
今天公司同事过来问我,他在测试服务器上把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服务.
当然也可以在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 (责任编辑:IT)
今天公司同事过来问我,他在测试服务器上把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服务. 当然也可以在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 (责任编辑:IT) |