mysql的设置的任务事件自动执行失效

460 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

在数据库mysql设置了个[计划任务]事件,每天对到期的信息状态自动变更,但今天发现好几个3月份的信息到期,状态还显示正常,没有过期。

排查过程: 1、经过检查发现,定时任务状态是ENABLE(启用),上次运行时间是2021-02-20,在这之后再没有执行了。

image.png

2、查看服务器运行状态,发现在我2020-02-21下午3点多重启了服务器

image.png

3、登录mysql数据库

输入 show variables like ‘event_scheduler’;

image.png

发现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 #默认开启事件