mysql設定定時入伍 mysql設定定時任務

2021-10-17 11:43:34 字數 1249 閱讀 3546

今天遇到了個需要每天定時執行的任務,在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

dobegin

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