最近在做mysql定时器是出现了一个问题:定时器启动之后,修改操作系统时间后,到指定时间无法执行,经多次查找原因,一无所获。最终发现mysql在启动时会校验操作系统时间,之后是否校验博主并不清楚(希望有大神指教)。方法如下:
1、启动定时器
SET GLOBAL event_scheduler = 1; /开启事件设置/
2、开启事件
ALTER EVENT event_name ON COMPLETION PRESERVE ENABLE; /event_name 事件名称/
3、将操作系统时间调整到事件运行的前几分钟,便于有充足的时间进行操作。
4、重启mysql服务器
5、开启定时器(这步很重要,必须要操作,否则定时器无法执行)
SET GLOBAL event_scheduler = 1; /开启事件设置/
6、事件到指定时间开始执行