MySQL定時執行指令碼(計劃任務)命令例項
阿新 • • 發佈:2021-09-05
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