有些简单的数据库操作的定时任务,可以不需要通过服务器,只需通过MySQL就可实现
如:每天0点修改所有的状态
实现方式:用MySQL事件
1.用navcat-事件-新建事件
2.设置计划任务,写需要执行的MySQL语句
3.保存-输入事件名-保存成功
4.别忘了最后,开启计划任务(SET GLOBAL event_scheduler = ON;)
如图:
上图AT表示该事件只执行一次
EVERY表示可多次重复执行,前面1表示循环的周期,DAY表示周期-每天(当然这里有很多选择,月,周,小时等等)
STARTS是一个 timestamp 值表示事件开始时间
+INTERVAL表示间隔以指定「由现在开始」的时间量
ENDS表示事件的结束时间
上图所设置的就表示:从2020年五月27号开始,每天0点执行
那么如何添加自己的业务呢?
点计划旁边的定义,就可以添加自己所需的业务了,如下图
这里只是做简单的修改表中的某个值,具体的根据自己的业务写所需的MySQL语句
你也可以新建MySQL函数,然后在上图所示的定义区域用call()调用该函数
最后
1.查看是否开启定时任务
show variables like '%event%';
查看event_scheduler如果为OFF或0就表示关闭
2.如果定时任务关闭,用下面命令开启
使用下列的任意一句开启计划任务:
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1; -- 0代表关闭
SET @@global.event_scheduler = 1;
最后可通过1再次查看event_scheduler是否开启