mysql設定定時任務

2021-09-20 12:02:44 字數 2404 閱讀 5405

mysql設定定時任務

今天遇到了個需要每天定時執行的任務,在mysql資料庫裡面提供了這樣的功能,正好整理下分享出來。

1.首先檢查是否開啟了定時任務

1

2

3

4

5

6

檢視event是否開啟 : show variableslike'%event_sche%';

將事件計畫開啟 :setglobalevent_scheduler = 1;

將事件計畫關閉 :setglobalevent_scheduler = 0;

關閉事件任務 :alterevent eventnameoncompletion preserve disable;

開啟事件任務 :alterevent eventnameoncompletion preserve enable;

檢視事件任務 : show events ;

2.建立乙個儲存過程

1

2

3

4

5

6

delimiter //

dropprocedureif exists p_test//

createprocedurep_test()

begin

insertintotest(name, create_time)values('testname', now());

end//

3.設定定時任務呼叫這個儲存過程(從2015.8.8 1點每十秒執行一次)

1

2

3

4

5

6

7

8

dropevent if exists e_test//

createevent e_test

onschedule every 10secondstartstimestamp'2015-08-08 01:00:00'

oncompletion 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...