工作中很多地方用到定时任务,有的是在项目中创建定时任务,有的则可以直接在工具中创建定时任务。而后者则比较方便,可以避免写很多代码。所以记录一下用Navicat for MySQL创建定时任务的实现。
1、启动Navicat for MySQL工具,连接数据库。
2、先查看定时任务是否开启,命令如下:
SHOW VARIABLES LIKE '%event_scheduler%';
ON表示开启,OFF表示关闭。
3、如果定时任务关闭,则用如下命令开启任务:
SET GLOBAL event_scheduler = 0;
或者:
SET GLOBAL event_scheduler = ON;
开启之后,可以再用上面的查询命令,可以查到状态已经是ON了。
(注:本地的数据库任务在每次电脑重启后默认的是关闭状态,需要手动打开)
4、在Navicat中右击函数,新建一个过程
函数内容如下:
BEGIN
UPDATE device_activate SET add_time = NOW() WHERE id = 42;
END
5、右击事件,新建一个事件
事件内容如下:
CALL test_mysql_task()
(注:test_mysql_task即为刚刚新建的函数名)
6、设置事件,即设置定时任务的执行的时间间隔,以及定时任务的其实执行时间
7、至此,定时任务就创建完成了。任务中的sql语句跟按照我们制定的时间间隔开始执行。