`

mysql的慢查询,配置和查看,按天分隔日志

阅读更多

开启慢查询日志

mysql>show variables like “%slow%”; 查看慢查询配置,没有则在my.cnf中添加

 

数据库慢查询的查找方法 

配置文件中 (/etc/my.cnf)增加

[mysqld]

slow_query_log #打开慢查询

slow_query_log_file=/var/slow.log #指定位置

long_query_time = 0.1 #慢查询记录阀值 单位秒、

 

mysql慢查询日志(slow_query_log_file)切换
 
slow_query_log_file日志变得很大,对它进项分析变得很不方便,我们就想按天每天产生一个slow_query_log_file文件,每天分析这个日志文件。如何按天切割呢?我们想到了这么一个办法,把日志格式切换成这种形式的hostname-slow_日期.log 这种形式,默认格式为hostname-slow.log。那么如何实现呢?其实很简单。利用mysql默认命令就可以了
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
mysql> show variables like '%query%log%';
+---------------------+----------------------------------------+
| Variable_name       | Value                                  |
+---------------------+----------------------------------------+
| slow_query_log      | OFF                                    |
| slow_query_log_file | /usr/local/mysql/data/aeolus1-slow.log |
+---------------------+----------------------------------------+
 
mysql> set global slow_query_log_file='/usr/local/mysql/data/aeolus1-slow_2013-07-19.log' ;
Query OK, 0 rows affected (0.03 sec)
 
mysql> show variables like '%query%log%';
+---------------------+---------------------------------------------------+
| Variable_name       | Value                                             |
+---------------------+---------------------------------------------------+
| slow_query_log      | ON                                                |
| slow_query_log_file | /usr/local/mysql/data/aeolus1-slow_2013-07-19.log |
+---------------------+---------------------------------------------------+
2 rows in set (0.01 sec)

 

ok,设置成功。思路就是这样的
 
写个shell小脚本,定义好时间,这样就可以按天生成日志了。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics