MySQL 慢查詢日誌切換

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';"

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章