MySQL的event的使用方法

MySQL的event的使用方法

一、事件定时策略

1、查看event事件开启状态
SHOW VARIABLES LIKE 'event_scheduler';

在这里插入图片描述
如图,Value值 ON:打开,OFF:关闭。

2、设置event事件打开
SET GLOBAL event_scheduler = ON;

如果MySQL重启了,event会默认关闭,需要重新设置。

可在my.cnf配置文件里的【mysqld】增加 event_scheduler = ON(永久开启,设置后需要重启MySQL才会生效)

3、设置event事件关闭
SET GLOBAL event_scheduler = OFF;

二、定时任务说明

-- 创建定时任务
CREATE EVENT my_event
ON SCHEDULE
EVERY '1' DAY STARTS '2023-01-01 01:00:00'
DO CALL my_event()
解释:
1、create event my_event:定义事件名称,名为my_event
2、EVERY '1' DAY:周期定时的规则,每天执行一次
3、STARTS '2023-01-01 01:00:00':表示在具体执行开始时间,2023-01-01凌晨1点整开始执行
4、可选 on completion preserve disable:表示创建后并不开始生效。
5、do call my_event():该event(事件)的操作内容,这里是调用名为my_event()的存储过程

三、定时任务说明

1、查看所有event
SELECT * FROM information_schema.EVENTS where EVENT_SCHEMA = 'my_db';
SELECT EVENT_NAME, EVENT_DEFINITION, INTERVAL_VALUE, INTERVAL_FIELD, STATUS FROM INFORMATION_SCHEMA.EVENTS;
2、查看指定event
SHOW CREATE EVENT MY_EVENT;

在这里插入图片描述

3、修改指定event
-- 修改定时任务 2点执行 调用my_event_bak()存储过程
ALTER EVENT my_event
ON SCHEDULE
EVERY '1' DAY STARTS '2023-01-01 02:00:00'
DO CALL my_event_bak()
4、开启指定event
//开启定时任务
alter event my_event on completion preserve enable;
5、关闭指定event
//关闭定时任务
alter event my_event on completion preserve disable;
6、删除指定event
//删除定时任务
drop event my_event ;
7、定时规则
7.1、执行周期(EVERY)

参数单位有:second、minute、hour、day、week(周)、quarter(季度)、month、year

//每天执行1次
on schedule every 1 day
//每周执行1次
on schedule every 1 week
//每月执行1次
on schedule every 1 month
//每年执行1次
on schedule every 1 year
7.2、执行开始时间(AT)
// 当前时间5天后执行
on schedule at current_timestamp() + interval 5 day
// 在2023年1月1日,凌晨1点整执行
on schedule at '2023-01-01 01:00:00'
7.3、执行时间段(STARTS ENDS)
//3天后开始每天都执行一次到下个月底结束
on schedule every 1 day starts current_timestamp() + interval 3 day ends current_timestamp() + interval 1 month 

//从现在起每天执行,执行3天
on schedule every 1 day ends current_timestamp() + interval 3 day 
参考链接:

1、https://zhuanlan.zhihu.com/p/619128134
2、https://www.jb51.net/database/28534927c.htm

如有不正确之处,还望指正!书写不易,觉得有帮助就点个赞吧!☺☺☺

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

message丶小和尚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值