今天遇到了個需要每天定時執行的任務,在mysql資料庫裡面提供了這樣的功能,正好整理下分享出來。
1.首先檢查是否開啟了定時任務
檢視event是否開啟 : show variables like '%event_sche%';將事件計畫開啟 : set global event_scheduler = 1;
將事件計畫關閉 : set global event_scheduler = 0;
關閉事件任務 : alter event eventname on completion preserve disable;
開啟事件任務 : alter event eventname on completion preserve enable;
檢視事件任務 : show events ;
2.建立乙個儲存過程
delimiter //drop procedure if exists p_test//
create procedure p_test()
begin
insert into test(name, create_time) values('testname', now());
end//
3.設定定時任務呼叫這個儲存過程(從2015.8.8 1點每十秒執行一次)
drop event if exists e_test//create event e_test
on schedule every 10 second starts timestamp '2015-08-08 01:00:00'
on completion preserve
do begin
call p_test();
end//
備註:在event事件中:on schedule 計畫任務,有兩種設定計畫任務的方式:
on completion引數表示"當這個事件不會再發生的時候",即當單次計畫任務執行完畢後或當重複性的計畫任務執行到了ends階段。而preserve的作用是使事件在執行完畢後不會被drop掉,建議使用該引數,以便於檢視event具體資訊。
mysql設定定時任務
mysql資料庫預設時把定時任務關閉的 檢視定時任務是否開啟的sql show variables like event scheduler select event scheduler 如果顯示為off的話則表示定時任務沒有開啟,如果為on的話表示已經開啟。開啟定時任務有兩種 一種是臨時啟動 修改...
mysql設定定時任務
今天遇到了個需要每天定時執行的任務,在mysql資料庫裡面提供了這樣的功能,正好整理下分享出來。1.首先檢查是否開啟了定時任務 1 2 3 4 5 6 檢視event是否開啟 show variableslike event sche 將事件計畫開啟 setglobalevent scheduler...
MySQL設定定時任務
1.首先檢查是否開啟了定時任務 檢視event是否開啟 show variables like event sche 將事件計畫開啟 set global event scheduler 1 將事件計畫關閉 set global event scheduler 0 關閉事件任務 alter even...