概论
mysql计划任务可以定时更新数据库表或者做大文件的汇总表
配置
开启计划任务
SHOW VARIABLES LIKE 'event_scheduler'
查看是否开启 off 表示未开启
set global event_scheduler =1
此次重启之后的mysql器件生效
永久生效
可见已经开启
语法体
create event myevent on schedule at current_timestamp + interval 1 hour (周期或者时间点) do update myschema.mytable set mycol = mycol + 1; (执行的sql)
周期或者时间点语法
每1秒执行
on schedule every 1 second
10天后执行
on schedule at current_timestamp + interval 10 day
指定日期时间执行
on schedule at timestamp '2016-08-16 00:00:00'
每天凌晨3点执行
on schedule every 1 day
starts '2016-05-18 03:00:00'
(设定从第二天凌晨3点开始)
每天定时执行,5天后停止执行
on schedule every 1 day
ends current_timestamp + interval 5 day
5天后开启每天定时清空test表,一个月后停止执行
on schedule every 1 day
starts current_timestamp + interval 5 day
ends current_timestamp + interval 1 month
高级用法
执行多条sql
delimiter | create event B on schedule every 1 second comment '计划任务注释' do begin insert into smudge.fruit value ('banana'); insert into smudge.fruit value ('apple'); end | delimiter ;
临时关闭事件
alter event smudge_insert disable;
临时开启事件
alter event smudge_insert enable;
删除计划任务
drop event smudge_insert;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。