天天看点

mysql定时任务调度 基础版

mysql定时任务使用。

说明:项目有个数据迁移的需求,由于项目已经临近收尾阶段,不想新增项目代码 所以直接在数据库进行迁移操作。

1.首先查看数据库是否开启定时任务。

show variables like '%event_scheduler%';
set GLOBAL event_scheduler = ON;/*若为OFF则执行该代码.*/
show variables like '%event_scheduler%';
           

2.如果你的脚本一句sql就能解决就直接写在创建事件的sql中,如果是多行脚本,则新增一个函数。

CREATE PROCEDURE MigratingAppInformation()
BEGIN
insert into cs_app_hist_logininformation(SESSION_ID,COMPANY_CODE,.....) select SESSION_ID,COMPANY_CODE,..... from cs_app_logininformation where LOGIN_TIME < (SELECT DATE_ADD(NOW(), INTERVAL - 2 MONTH));
DELETE from cs_app_logininformation where LOGIN_TIME <(SELECT DATE_ADD(NOW(), INTERVAL - 2 MONTH));
END;
           

结果成功如下

mysql定时任务调度 基础版

3.创建事件

CREATE EVENT test ON SCHEDULE EVERY 1 MINUTE STARTS '2020-08-25 16:40:00' DO call MigratingAppInformation;
           

SCHEDULE EVERY 1 MINUTE STARTS ‘2020-08-25 16:40:00’ 这段sql 是设置执行频率和开始时间

mysql定时任务调度 基础版

继续阅读