MySQL定時執行指令碼 計畫任務 命令例項

2021-08-24 17:27:58 字數 1238 閱讀 1703

登入mysql伺服器

mysql -u root -p
檢視event是否開啟

show variables like '%sche%';
將事件計畫開啟

set global event_scheduler =1;
建立儲存過程test

create procedure test () 

begin

update examinfo set endtime = now() where id = 14;

end;

建立event e_test

create event if not exists e_test 

on schedule every 30 second

on completion preserve

do call test();

每隔30秒將執行儲存過程test,將當前時間更新到examinfo表中id=14的記錄的endtime欄位中去.

關閉事件任務

alter event e_test on completion preserve disable;
開啟事件任務

alter event e_test on completion preserve enable;
mysql 計畫任務重啟後消失

我們只要修改一配置即可

event_scheduler在mysql的config中設定為off有關。去mysql中將配置改為on則就搞定了。

刪除任務計畫

drop event if exists e_test;
每天定時執行任務,設定第一次執行時間為'2017-06-18 01:00:00',並且每天執行一次  

create event if not exists e_test

on shcedule every 1 day starts '2018-08-08 01:00:00'

do call test();

檢視定時任務

show events
select * from mysql.event

MySQL定時執行指令碼 計畫任務 例項

具體 在mysql中我們可以直接進行一些引數設定讓它成定時為我們執行一些任務了,這個雖然可以使用windows或者linux中的計畫任務實現,但是mysql本身也能完成。檢視event是否開啟 如下 複製 show variables like sche 將事件計畫開啟 如下 複製 set glob...

MySQL定時執行指令碼 計畫任務 命令例項

檢視event是否開啟 複製 如下 show variables like sche 將事件計畫開啟 複製 如下 set global event scheduler 1 建立儲存過程test 複製 如下 create procedure test begin update examinfo set...

MySQL定時執行指令碼 計畫任務 命令例項

檢視event是否開啟 複製 如下 show variables like sche 將事件計畫開啟 複製 如下 set global event scheduler 1 建立儲存過程test 複製 如下 create procedure test begin update examinfo set...