概述
本文介绍在Mysql下创建并执行定时任务。
环境说明
Mysql 8.0.17
创建步骤(部分步骤可忽略)
- 查看定时策略是否开启(ON:开启,OFF:关闭)
SHOW VARIABLES LIKE ‘%event_sche%’;
- 开启定时任务
SET GLOBAL event_scheduler=1;
- 创建存储过程
# 指定使用库
USE gty_haloc;
delimiter //
CREATE PROCEDURE pro_test()
BEGIN
# 存储过程内容
END//
delimiter ;
- 测试存储过程
CALL pro_exam_bak();
- 创建存储过程
CREATE EVENT event_test
# 每天21点执行
ON SCHEDULE EVERY 1 DAY STARTS EVERY 1 DAY STARTS ‘2020-07-09 21:00:00’
ON COMPLETION PRESERVE DISABLE
# 执行内容
DO CALL pro_test();
其他命令
- 查看定时任务
SELECT event_name,event_definition,interval_value,interval_field,status
FROM information_schema.EVENTS;
- 开启事件
ALTER EVENT run_event ENABLE;
- 关闭事件
ALTER EVENT run_event DISABLE;
- 开启定时任务 - 5天后执行
ON SCHEDULE AT CURRENT_TIMESTAMP() + INTERVAL 5 DAY;
- 开启定时任务 - 在2019年1月1日,0点整执行
ON SCHEDULE AT ‘2019-01-01 00:00:00’
- 在某个时间段执行 - 关键字 STARTS ENDS
- 5天后开始每天都执行执行到下个月底
ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP() + INTERVAL 5 DAY ENDS CURRENT_TIMESTAMP() + INTERVAL 1 MONTH;
- 从现在起每天执行,执行5天
ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP() + INTERVAL 5 DAY;