简单介绍定时任务的开启,编写,定时任务调用存储过程等。
mysql 定时任务开启
在创建定时任务前,先查看数据库服务器是否支持定时任务。
可执行 下边sql 进行查询
-- 查询的效果是一样的
show variables like 'event_scheduler';
select @@event_scheduler;
show events;
如果服务器未开启定时任务,则需要开启事件任务,开启的方法有多种,如客户端执行则是临时性开启,当服务器重启后,则失效,需重新开启;
永久性开启,则需要在服务器配置文件muysql.ini 中开启配置。
set GLOBAL event_scheduler=on;
-- 或者
set GLOBAL event_scheduler=1;
定时任务编写
-- 设置每个月执行一次,开始执行时间为11月1日凌晨1点;
-- 定时任务调用了存储过程,三个入参
DROP EVENT IF EXISTS transLogMove;
CREATE EVENT transLogMove
ON SCHEDULE
EVERY 1 MONTH STARTS '2021-11-01 01:00:00'
ON COMPLETION PRESERVE
DO
BEGIN
set @beforMonth = 3;
set @currentTableName = "t_trans_log";
set @hisTableName = "t_trans_log_his";
CALL transLogMove_proc3(@beforMonth,@currentTableName,@hisTableName );
END
定时任务设置
定时任务设置的预览图如下;
可根据具体业务设置每时,每天,每周,每月,每年的规律来执行,可设置停止时间;
也可以设置单次执行;