mysql定时删除数据

1、  查看MySQL是否开启了事件功能

查看命令:

show variables like '%sc%';

打开event_scheduler(临时开启,MySQL服务重启后时效)

SET GLOBAL event_scheduler = ON;

永久开启方法:my.cnf中[mysqld]添加event_scheduler=on #重启服务

2、  创建事件

create event myevent on SCHEDULE every 5 second do delete from Syslog.SystemEvents where ReceivedAt<(CURRENT_TIMESTAMP() + INTERVAL -5 DAY);#删除5天前的数据

说明:

ReceivedAt:数据库Syslog.Systemevents表中的时间字段

(date,INTERVAL expr type):

date:数据库当前时间CURRENT_TIMESTAMP()

INTERVAL:关键字(间隔)

expr:具体的时间间隔(-5)

type:时间单位:

MICROSECOND

间隔单位:毫秒

SECOND

间隔单位:秒

MINUTE

间隔单位:分钟

HOUR

间隔单位:小时

DAY

间隔单位:天

WEEK

间隔单位:星期

MONTH

间隔单位:月

QUARTER

间隔单位:季度

YEAR

间隔单位:年

SECOND_MICROSECOND

复合型,间隔单位:秒、毫秒,expr可以用两个值来分别指定秒和毫秒

MINUTE_MICROSECOND

复合型,间隔单位:分、毫秒

MINUTE_SECOND

复合型,间隔单位:分、秒

HOUR_MICROSECOND

复合型,间隔单位:小时、毫秒

HOUR_SECOND

复合型,间隔单位:小时、秒

HOUR_MINUTE

复合型,间隔单位:小时分

DAY_MICROSECOND

复合型,间隔单位:天、毫秒

DAY_SECOND

复合型,间隔单位:天、秒

DAY_MINUTE

复合型,间隔单位:天、分

DAY_HOUR

复合型,间隔单位:天、小时

YEAR_MONTH

复合型,间隔单位:年、月

  

 

如果存在事件,请先删除,删除命令:drop event if exists myevent;

3、 开启事件
alter event myevent on completion preserve enable;

4、关闭事件的命令:
alter event myevent on completion preserve disable;

 

原文链接:https://blog.51cto.com/6300167/2435356

 

posted @   所向披靡zz  阅读(872)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示