low_query_log_file日誌變得很大,對它進項分析變得很不方便,我們就想按天每天產生一個slow_query_log_file文件,每天分析這個日誌文件。
如何按天切割呢?
mysql> show variables like '%slow_query_log_file%';
+---------------------+----------------------------------------+
| Variable_name | Value |
+---------------------+----------------------------------------+
| slow_query_log_file | mysql_slow_query.log |
+---------------------+----------------------------------------+
mysql> set global slow_query_log_file='mysql_slow_query_2020-04-12.log' ;
Query OK, 0 rows affected (0.03 sec)
mysql> show variables like '%slow_query_log_file%';
+---------------------+---------------------------------------------------+
| Variable_name | Value |
+---------------------+---------------------------------------------------+
| slow_query_log_file | mysql_slow_query_2020-04-12.log |
+---------------------+---------------------------------------------------+
2 rows in set (0.01 sec)
寫個shell小腳本,定時更改日誌名稱,這樣就可以按天生成日誌。
新建腳本:cut_slow_log.sh
#!/bin/bash time=`date -d yesterday +"%Y-%m-%d"` host="127.0.0.1" user="root" passwd="xxxxxx" #提前創建好一個存放目錄:/var/lib/mysql/slow_log/ mv /var/lib/mysql/server-10-slow.log /var/lib/mysql/slow_log/server-10-slow-$time.log mysql -u$user -p$passwd -e "set global slow_query_log_file='/var/lib/mysql/server-10-slow.log';"