mysql 创建定时任务清理指定表

发布时间:2024-12-22 09:31

设定完成任务的时间表,跟踪进度 #生活常识# #时间管理建议# #任务清单#

一、创建定时任务

1、确保MySQL的事件调度器已经开启。可以通过以下SQL命令检查是否开启:

SHOW VARIABLES LIKE 'event_scheduler';

2、如果返回的值为OFF,则可以通过以下命令开启事件调度器:

SET GLOBAL event_scheduler = ON;

3、以下是一个删除your_table表中7天前数据的示例:

CREATE EVENT IF NOT EXISTS event_cleanup_data ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP DO DELETE FROM your_table WHERE your_date_column < DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY);

4、启动事件

ALTER EVENT event_cleanup_data ON COMPLETION PRESERVE ENABLE;

确保替换your_table和your_date_column为你实际的表名和列名。这样,你就设置了一个定期清理数据的任务

 5、查看事件

SHOW EVENTS;

二、实例一:删除apb项目中系统日志表中指定90天的数据

CREATE EVENT IF NOT EXISTS event_cleanup_abplog ON SCHEDULE EVERY 1 DAY STARTS '2024-08-14 23:00:00' DO BEGIN DELETE FROM abpauditlogs WHERE executiontime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY); DELETE FROM abpauditlogactions WHERE executiontime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY); DELETE FROM abpentitychanges WHERE changetime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY); END;

网址:mysql 创建定时任务清理指定表 https://www.yuejiaxmz.com/news/view/538193

相关内容

7.4.1 创建数据库时指定字符编码
Linux定时任务
MySQL创建日程表实现日程管理功能的实现方法
【临时表定时清理服务】
Spring定时任务——注解@Scheduled实现定时任务
【定时任务学习】新手指南:轻松上手任务自动化
MySQL常用优化指南,及大表优化思路(值得收藏)
Mysql大表数据清理方案
Mysql在生产环境中快速清理数据及表空间释放
高效解决MySQL千万级大表数据清理难题的策略

随便看看