mysql慢日志自动切换

场景:

low_query_log_file日志变得很大,对它进行分析变得很不方便,我们就想按天每天产生一个slow_query_log_file文件,每天分析这个日志文件。
如何按天切换呢?

方式一:手动切换

1)check slow log status
mysql> show variables like '%slow%';
+---------------------------+------------------------------------------------------+
| Variable_name | Value |
+---------------------------+------------------------------------------------------+
| log_slow_admin_statements | OFF |
| log_slow_extra | OFF |
| log_slow_slave_statements | OFF |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /data/mysql/zyt1/log/mysql_slow_query_2021-10-11.log |
+---------------------------+------------------------------------------------------+
6 rows in set (0.01 sec)

2)disable slow_query_log
mysql> set global slow_query_log=0;

3)set slow_query_log_file
mysql> set global slow_query_log_file='/data/mysql/zyt1/log/mysql_slow_query_2021-10-12.log';

4)enable slow_query_log
mysql> set global slow_query_log=1;

5)check
mysql> show variables like '%slow%';

方式二:

写个shell小脚本,定时更改日志名称,这样就可以按天生成日志。(确保慢日志是开启的,路径存在)
vi slow_log.sh

#!/bin/bash
time=`date -d yesterday +"%Y-%m-%d"`
user="root"
passwd="123456"
mysql -u$user -p$passwd -S /tmp/mysql_zyt1.sock -e "set global slow_query_log_file='/data/mysql/zyt1/log/mysql_slow_query.log.$time';"


参考链接:https://blog.csdn.net/eagle89/article/details/106237910

posted @ 2021-10-12 10:13  AnneZhou  阅读(270)  评论(0)    收藏  举报