一、檢視定時政策是否開啟
show variables like '%event_sche%';
開啟定時政策:
set global event_scheduler=1;
二、建立存儲過程
use test;
delimiter //
create procedure test_procedure ()
begin
insert into user(name,create_date) values('hello',now());
end//
delimiter ;
use test:資料庫名
delimiter // :這個是将mysql中以;(分号)結尾的規定修改為以//(雙斜杠)為語句結束符
三、建立定時任務
create event run_event
on schedule every 1 minute
on completion preserve disable
do call test_procedure ();
1、create event day_event:是建立名為run_event的事件
2、建立周期定時的規則,意思是每分鐘執行一次
3、on completion preserve disable是表示建立後并不開始生效。
4、do call test_procedure ()是該event(事件)的操作内容
四、定時任務操作
1、檢視定期任務
SELECT event_name,event_definition,interval_value,interval_field,status
FROM information_schema.EVENTS;
2、開啟或關閉定時任務
alter event run_event on completion preserve enable;//開啟定時任務
alter event run_event on completion preserve disable;//關閉定時任務
五、定時規則
1、周期執行–關鍵字 EVERY
機關有:second,minute,hour,day,week(周),quarter(季度),month,year
on schedule every 1 week //每周執行1次
2、在具體某個時間執行–關鍵字 AT
on schedule at current_timestamp()+interval 5 day //5天後執行
on schedule at '2019-01-01 00:00:00' //在2019年1月1日,0點整執行
3、在某個時間段執行–關鍵字STARTS ENDS
on schedule every 1 day starts current_timestamp()+interval 5 day ends current_timestamp()+interval 1 month //5天後開始每天都執行執行到下個月底
on schedule every 1 day ends current_timestamp()+interval 5 day //從現在起每天執行,執行5天