1. 程式人生 > >MySQL 的 計劃任務

MySQL 的 計劃任務

mysql

一 資料庫許可權

1、檢查資料庫事件是否開啟,

SELECT @@event_scheduler;
SHOW VARIABLES LIKE 'event_scheduler';
show variables like '%sche%';

2、開啟事件

SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = ON;
SET @@global.event_scheduler = 1;

3、關閉事件

SET GLOBAL event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = OFF;
SET @@global.event_scheduler = 0;

二 定時任務

1、檢視定時任務

SELECT * FROM information_schema.events; 

2、關閉定時任務

ALTER EVENT 事件名 DISABLE;

3、開啟定時任務

ALTER EVENT 事件名 ENABLE;

4、刪除計劃任務

DROP event 事件名;

 如果任務存在則刪除計劃任務

DROP EVENT IF EXISTS 事件名;

建立任務

每x天凌晨y點執行

CREATE EVENT IF NOT EXISTS 事件名  
    ON SCHEDULE EVERY x DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY),INTERVAL y HOUR)   
    ON COMPLETION NOT PRESERVE   
    DO 你要執行的sql語句或過程名或函式名

 預設開始時間是建立時間 這句 DATE_ADD(CURDATE(), INTERVAL 1 DAY)確保從第二天00:00開始計算週期

 

 

 

參考:

https://blog.csdn.net/ziwoods/article/details/80569063

https://blog.csdn.net/u010003835/article/details/50563079  這個比較詳細

https://blog.csdn.net/zhaowj0507/article/details/53468681 Navicat

https://www.cnblogs.com/jalja/p/5431567.html