Mysql实现定时自动清理日志(Windows环境)

1、使用批处理脚本定期删除日志文件

你可以创建一个批处理脚本,通过 Windows 任务计划来定期清理日志。

1.1 创建批处理脚本

​ 创建一个批处理脚本(例如 cleanup_logs.bat)来删除 MySQL 日志文件。以下是一个简单的示例:

powershell 复制代码
@echo off
REM 设置日志文件路径
set LOG_DIR=C:\Program Files\MySQL\MySQL Server 8.0\Logs
set DAYS=7

REM 删除二进制日志文件
forfiles /p "%LOG_DIR%" /s /m mysql-bin.* /d -%DAYS% /c "cmd /c del @file"


REM 删除超过7天的日志文件
forfiles /p "%LOG_DIR%" /s /m *.log /d -%DAYS% /c "cmd /c del @file"


REM 删除错误日志(如果不需要保留)
del /f /q "%LOG_DIR%\mysql*.err"

REM 删除慢查询日志
del /f /q "%LOG_DIR%\slow.log"

REM 输出日志清理完成
echo Log cleanup completed.

说明:

  • forfiles 命令用于删除过期的二进制日志文件。你可以根据日志文件名(例如 mysql-bin.*)设置不同的通配符。
  • del 命令删除错误日志和慢查询日志文件。
  • 根据需要,你可以调整删除条件,比如根据天数或日志类型。
1.2. 说明:
常见日志文件位置

MySQL 日志的存储路径可以在配置文件 my.ini 中查看,通常位于 MySQL 安装目录下,默认路径可能是:

  • 二进制日志:<MySQL 数据目录>\mysql-bin.*
  • 错误日志:<MySQL 数据目录>\mysql.err<MySQL 安装目录>\data\*.err
  • 慢查询日志:<MySQL 数据目录>\slow.log

2. 设置任务计划

2.1 打开任务计划程序

​ 按win+R,输入taskschd.msc 打开任务计划程序。

2.2 创建一个新的任务:

在右侧点击创新任务

在常规选项卡中,设置任务名称和描述

2.3 配置触发器

点击触发器,点击新建,选择一个定时触发的时间(例如每天、每周等)

2.4 配置操作

在操作标签下,选择启动程序,然后浏览并选择你的cleanup_logs.bat 文件。

2.5 配置条件和设置:
  • 如果需要,可以设置任务在某些条件下才会运行(如计算机空闲时)。
2.6 保存任务并退出。
相关推荐
wuminyu29 分钟前
专家视角看Java字节码加载与存储指令机制
java·linux·c语言·jvm·c++
callJJ2 小时前
Spring Data Redis 两种编程模型详解:同步 vs 响应式
java·spring boot·redis·python·spring
wbs_scy3 小时前
Linux线程同步与互斥(三):线程同步深度解析之POSIX 信号量与环形队列生产者消费者模型,从原理到源码彻底吃透
java·开发语言
开开心心就好3 小时前
仅168KB的桌面图标自动隐藏工具
windows·计算机视觉·计算机外设·excel·启发式算法·宽度优先·csdn开发云
jinanwuhuaguo4 小时前
(第三十三篇)五月的文明奠基:OpenClaw 2026.5.2版本的文明级解读
android·java·开发语言·人工智能·github·拓扑学·openclaw
xmjd msup5 小时前
spring security 超详细使用教程(接入springboot、前后端分离)
java·spring boot·spring
952365 小时前
SpringBoot统一功能处理
java·spring boot·后端
Lyyaoo.5 小时前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-19435 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
勿忘初心12215 小时前
Java 国密 SM4 加密工具类实战(Hutool + BouncyCastle)|企业级数据加密 + 兼容 JDK8
java·数据安全·数据加密·后端开发·企业级开发·国密 sm4