在mysql中我们可以直接进行一些参数设置让它成定时为我们执行一些任务了,这个虽然可以使用windows或者linux中的计划任务实现,但是mysql本身也能完成.
查看event是否开启,代码如下:
show variables like '%sche%';
将事件计划开启,代码如下:
set global event_scheduler =1;
创建存储过程test,代码如下:
- CREATEPROCEDUREtest()
- BEGIN
- updateexaminfoSETendtime=now()WHEREid=14;
- END;
创建event e_test,代码如下:
- createeventifnotexistse_test
- onscheduleevery30second
- oncompletionpreserve
- docalltest();
每隔30秒将执行存储过程test,将当前时间更新到examinfo表中id=14的记录的endtime字段中去.
关闭事件任务,代码如下:
alter event e_test ON
COMPLETION PRESERVE DISABLE;
开户事件任务,代码如下:
alter event e_test ON
COMPLETION PRESERVE ENABLE;//phpfensi.com
以上测试均成功,测试环境为mysql 5.4.2-beta-community mysql community server(GPL),以上的相关内容就是对MySQL定时执行的介绍,望你能有所收获.
mysql 计划任务重启后消失,我们只要修改一配置即可,event_scheduler在mysql的config中设置为OFF有关,去mysql中将配置改为ON则就搞定了.