计划任务
我们可以使用MySQL自带的事件调度器event_scheduler
show variables; # 查询MySQL程序的全局变量,或者说配置信息的。
show variables like “event_scheduler”;
开启或者关闭事件调度器
set global event_scheduler=on; #开启
set global event_scheduler=1;
set global event_scheduler=off; #关闭
set global event_scheduler=0;
创建定时计划
– create event 任务名称
– on schedule 计划时间 用于控制什么时候执行需要执行的业务代码
– [on completion [not] preserve] on completion not preserve完成后不保存(默认); on completion preserve完成后保存
– [enable|disable] 用于设置这个事件创建完毕后是否开启(按照计划开始执行,类似于开启闹钟和关闭闹钟),默认enable
– [comment ‘comment’] 用于设置注释说明
– do 执行语句;
on schedule 计划时间
1. 在特定时间执行,使用at关键字开头 格式为:at 时间戳 [+interval 时间]
at current_timestamp +interval 5 minute # 在创建计划任务的5分组后执行
at timestamp “2025-02-29 00:00:01” # 在"2025-02-29 00:00:01"时间执行
2.周期性的执行,使用every关键字开头,格式为:
every 时间1 [start 时间戳 +[interval 时间]] [end 时间戳 +[interval 时间]]
表示每间隔时间1执行一次任务
every 1 day # 每天都执行一次
every 1 week start current_timestamp + interval 1 day # 1天后开始执行,每周都执行一次计划任务