使用logrotete定时切割mysql的慢日志操作!

使用logrotete定时切割mysql的慢日志操作!

本文介绍了如何在Linux系统中使用logrotate工具对MySQL慢查询日志进行自动轮转和管理配置,包括创建配置文件、设置轮转频率、文件命名、权限、执行脚本以及测试配置的方法,感兴趣的朋友一起看看吧。

背景:

在 Linux 系统中,logrotate是常用的日志文件管理工具,可以配置它来对 MySQL 的慢查询日志进行轮转,例如按照每天或者每周进行轮转,将旧的日志文件备份压缩并重新生成新的日志文件来继续记录!

创建配置文件

创建一个专门用于配置 MySQL 慢查询日志切割规则的文件,通常放在/etc/logrotate.d/目录下。假设你的 MySQL 慢查询日志文件名为/var/lib/mysql/[主机名]-slow.log(这里的[主机名]需要替换为实际的主机名称,你可以通过hostname命令查看主机名),创建名为mysql-slow的配置文件(文件路径为/etc/logrotate.d/mysql-slow

这是我目前在用的慢日志切割配置,可以直接拿来使用(密码替换进去)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/data/mysql/my3306/log/slow.log {
daily
missingok
rotate 30
compress
notifempty
create 640 mysql mysql
dateext                   
dateformat -%Y%m%d        
sharedscripts
postrotate
/usr/local/mysqlInstall/mysql/bin/mysql -uroot -p密码 -e "SET GLOBAL slow_query_log = OFF; SET GLOBAL slow_query_log = ON;"
endscript
}

关键参数说明

1. 轮转频率与保留策略

  • **daily**

每天检查一次日志文件,满足条件则触发轮转。

  • **rotate 30**

保留最近30次轮转的日志文件(默认按天轮转,即保留30天日志)。

  • **compress**

压缩旧日志为.gz格式,节省磁盘空间。

2. 文件命名与日期格式

  • **dateext**

使用日期作为轮转文件的后缀(例如slow.log-20231101)。

  • **dateformat -%Y%m%d**

自定义日期格式:-%Y%m%d表示-年月日(如-20231101)。

3. 文件权限与空文件处理

  • **create 640 mysql mysql**

轮转后创建的新日志文件权限为640,所有者为mysql用户和组(需确保 MySQL 进程有写入权限)。

  • **notifempty**

如果日志文件为空,跳过轮转(避免生成无意义的空日志文件)。

4. 执行脚本与错误处理

  • **sharedscripts**

所有匹配的日志文件轮转完成后,只执行一次postrotate脚本(即使有多个日志文件)。

  • **postrotate**

轮转后执行以下操作:

  • 临时关闭 MySQL 慢查询日志(slow_query_log = OFF)。
  • 重新开启慢查询日志(slow_query_log = ON),使 MySQL 写入新日志文件。
  • 注意:需替换 -p密码 为实际的 MySQL root 密码。

5. 其他

  • **missingok**

如果日志文件不存在,忽略错误继续执行(避免因文件丢失导致任务失败)。

测试

配置完成后,可以手动运行logrotate命令来测试配置是否正确以及能否正常工作

1
logrotate -vf /etc/logrotate.d/mysql-slow

-f参数表示强制按照配置文件执行轮转操作

定时任务部署

为了避免重复执行,将cron.daily中的logrotate移除

1
2
cd  /etc/cron.daily
mv logrotate logrotate.bak

crontab部署

1
0 2 * * *  /usr/sbin/logrotate -vf /etc/logrotate.d/mysql-slow

到此这篇关于如何使用logrotete定时切割mysql的慢日志的文章就介绍到这了。

 

 

学习资料见知识星球。

以上就是今天要分享的技巧,你学会了吗?若有什么问题,欢迎在下方留言。

快来试试吧,小琥 my21ke007。获取 1000个免费 Excel模板福利​​​​!

更多技巧, www.excelbook.cn

欢迎 加入 零售创新 知识星球,知识星球主要以数据分析、报告分享、数据工具讨论为主;

Excelbook.cn Excel技巧 SQL技巧 Python 学习!

你将获得:

1、价值上万元的专业的PPT报告模板。

2、专业案例分析和解读笔记。

3、实用的Excel、Word、PPT技巧。

4、VIP讨论群,共享资源。

5、优惠的会员商品。

6、一次付费只需129元,即可下载本站文章涉及的文件和软件。

文章版权声明 1、本网站名称:Excelbook
2、本站永久网址:http://www.excelbook.cn
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长王小琥进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

THE END
分享
二维码
< <上一篇
下一篇>>