mysql数据库定时清理数据

mysql数据库定时清理数据
一:查看调度,设置调度开启
1.查看调度 SELECT @@event_scheduler
2.设置调度开启:
– 设置方法(开启)

SET @@global.event_scheduler = ON;

– 设置方法(关闭)
SET @@global.event_scheduler = OFF;
二:创建存储过程

DELIMITER $$
USE `db`$$
DROP PROCEDURE IF EXISTS `auto_del_90`$$
CREATE DEFINER=`root`@`%` PROCEDURE `auto_del_90`()
BEGIN
DELETE FROM my_table WHERE CREATE_TIME <= DATE(DATE_SUB(NOW(),INTERVAL 90 DAY));
END$$
DELIMITER ;

三:创建事件

指定时间时间执行,可用户测试存储过程是否有效:

CREATE DEFINER = `root`@`%` EVENT `event_auto_del_90` 
ON SCHEDULE AT '2020-11-27 09:46:01' 
ON COMPLETION PRESERVE
ENABLE 
DO 
	CALL auto_del_90 ();

创建周期性执行事件(每周执行):

CREATE DEFINER = `root`@`%` EVENT `event_auto_del_90` ON SCHEDULE
 EVERY 1 WEEK STARTS '2020-11-27 10:03:06' ON COMPLETION 
 PRESERVE
 ENABLE 
DO
	CALL auto_del_90 ()

说明:创建事件时有一个参数 PRESERVE
PRESERVE:当事件指定了ends,事件到期后不会drop
NOT PRESERVE :当事件指定了ends,事件到期后会drop该事件

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值