mysql設定定時任務
今天遇到了個需要每天定時執行的任務,在mysql資料庫裡面提供了這樣的功能,正好整理下分享出來。
1.首先檢查是否開啟了定時任務
1
2
3
4
5
6
檢視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.建立乙個儲存過程
1
2
3
4
5
6
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點每十秒執行一次)
1
2
3
4
5
6
7
8
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 計畫任務,有兩種設定計畫任務的方式:
1. at 時間戳,用來完成單次的計畫任務。
2. every 時間(單位)的數量時間單位[starts 時間戳] [ends時間戳],用來完成重複的計畫任務。
在兩種計畫任務中,時間戳可以是任意的timestamp 和datetime 資料型別,時間戳需要大於當前時間。
[on completion [not] preserve]
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...