low_query_log_file日志变得很大,对它进项分析变得很不方便,咱们就想按天天天产生一个slow_query_log_file文件,天天分析这个日志文件。mysql
如何按天切割呢?sql
咱们想到了这么一个办法,把日志格式切换成这种形式的hostname-slow_日期.log 这种形式,默认格式为hostname-slow.log。shell
那么如何实现呢? 利用mysql默认命令日志
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_2017-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_2017-07-19.log | +---------------------+---------------------------------------------------+ 2 rows in set (0.01 sec) --ok,设置成功。思路就是这样的
写个shell小脚本,定时更改日志名称,这样就能够按天生成日志。code