关于Mysql 架构及优化之-定时计划任务

概论

mysql计划任务可以定时更新数据库表或者做大文件的汇总表

配置

开启计划任务

SHOW VARIABLES LIKE 'event_scheduler'查看是否开启 off 表示未开启

set global event_scheduler =1此次重启之后的mysql器件生效

永久生效

可见已经开启

语法体

createeventmyeventonscheduleatcurrent_timestamp+interval1hour(周期或者时间点)doupdatemyschema.mytablesetmycol = 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 |createeventBonschedule every1secondcomment'计划任务注释'dobegininsertintosmudge.fruitvalue('banana');insertintosmudge.fruitvalue('apple');end|delimiter ;

临时关闭事件

alter event smudge_insert disable;

临时开启事件

alter event smudge_insert enable;

删除计划任务

drop event smudge_insert;

你可能感兴趣的:(关于Mysql 架构及优化之-定时计划任务)