本文已参与「新人创作礼」活动,一起开启掘金创作之路。
在数据库mysql设置了个[计划任务]事件,每天对到期的信息状态自动变更,但今天发现好几个3月份的信息到期,状态还显示正常,没有过期。
排查过程: 1、经过检查发现,定时任务状态是ENABLE(启用),上次运行时间是2021-02-20,在这之后再没有执行了。
2、查看服务器运行状态,发现在我2020-02-21下午3点多重启了服务器
3、登录mysql数据库
输入 show variables like ‘event_scheduler’;
发现event_scheduler是关闭状态
也就是服务器重启或者数据库重启,都会导致mysql的任务事件失效(即:event_scheduler关闭)。
解决方法:
1、手动开启(登录mysql数据库后操作):
#查看是否开启
show variables like 'event_scheduler';
#开启
set global event_scheduler = on;
2、让event_scheduler一直保持开启的方法:
在MySQL配置文件my.ini的[mysqld]部分加上:event_scheduler = ON #默认开启事件