-- 获取数据库时间
-- 前一天凌晨 2022-10-17 00:00:00
SELECT FROM_UNIXTIME(UNIX_TIMESTAMP(CAST(SYSDATE()AS DATE) - INTERVAL 1 DAY))
-- 前一天的最后23:59:59
SELECT DATE_SUB( DATE_ADD(CURDATE(), INTERVAL 0 DAY),INTERVAL 1 SECOND)
-- 查询事件开启状态
show variables like '%event_schedule%'
-- 事件操作
-- 开启事件
set global event_scheduler = on;
-- 关闭事件
set global event_scheduler = off;
-- 开启和关闭创建好的事件
-- 开启定时任务
ALTER EVENT demo01 ON COMPLETION PRESERVE ENABLE;
-- 关闭定时任务
ALTER EVENT demo01 ON COMPLETION PRESERVE DISABLE;
-- 查看所有定时任务
select * from mysql.event;
-- 创建定时任务
create event event_timing_report
-- 每天凌晨一点开始执行
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR)
on completion preserve disable
-- 任务使用demo_pro()作为执行体
do call timing_demo_report();
-- 查看任务是否创建完毕
SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;
-- 开启报表定时任务
ALTER EVENT event_timing_report ON COMPLETION PRESERVE ENABLE;