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

2021-09-27 07:16:26 字數 1403 閱讀 3803

登入mysql伺服器 

mysql -u root -p檢視event是否開啟
show variables like '%sche%';
將事件計畫開啟 

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

delimiter $$            #將語句的結束符號從分號;臨時改為兩個$$(可以是自定義)

create procedure mypro () 

begin 

update database set time = now() ; 

insert into history(title,url,time) select title,url,time from newdb;

end$$

delimiter ;                #再將語句的結束符號恢復為分號

建立event e_mypro

create event if not exists e_mypro 

on schedule every 5 second 

on completion preserve 

do call mypro () ;

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

關閉事件任務

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

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

我們只要修改一配置即可

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

刪除任務計畫 

drop event if exists e_mypro;
每天定時執行任務,設定第一次執行時間為'2019-9-20 01:00:00',並且每天執行一次  

create event if not exists e_mypro 

on shcedule every 1 day starts '2019-09-20 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...