1. 程式人生 > 其它 >MySQL定時執行指令碼(計劃任務)命令例項

MySQL定時執行指令碼(計劃任務)命令例項

https://blog.csdn.net/weixin_33898876/article/details/86278994?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.control

登入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 '2017-06-18 01:00:00'
do call test(); 

檢視定時任務

SHOW EVENTS 
select * from mysql.event