MySQL 從 5.1.6 版本起苇本,增加了一個時間調(diào)度器(Event Scheduler),可以做定時操作爪瓜,精確到秒來執(zhí)行。
首先查看定時任務(wù)是否開啟匙瘪,命令
SHOW VARIABLES LIKE 'event_scheduler';
若沒有開啟钥勋,則使用如下命令開啟定時器
SET GLOBAL event_scheduler = 1
或者
SET GLOBAL event_scheduler = ON
創(chuàng)建定時任務(wù)
例子如下: 每隔10秒更新一次表中指定項的內(nèi)容炬转。
CREATE EVENT export_tag_result
ON SCHEDULE EVERY 10 SECOND
DO
UPDATE news_sign.news_tagging_app_unrevised SET IsRevised = IsRevised + 1 WHERE ID = '22';
語法總結(jié)
CREATE EVENT 事件名稱
ON SCHEDULE EVERY 間隔時間
DO
具體執(zhí)行的SQL任務(wù)
修改定時任務(wù)
上面的一個定時任務(wù)是創(chuàng)建好了,可是在運行的過程中算灸,我們免不了會對其進行修改扼劈,那么如何進行修改呢?語法如下
ALTER EVENT 事件名稱
ON SCHEDULE EVERY 間隔時間
DO
具體執(zhí)行的SQL任務(wù)
關(guān)閉(開啟)定時任務(wù)
(1) 關(guān)閉指定事件的定時任務(wù)
ALTER EVENT 事件名稱 ON COMPLETION PRESERVE DISABLE;
相對應(yīng)的開啟指定事件的定時任務(wù)
ALTER EVENT 事件名稱 ON COMPLETION PRESERVE ENABLE;
(2) 關(guān)閉定時器
SET GLOBAL event_scheduler = 0
或者
SET GLOBAL event_scheduler = OFF
查看事件
上面的操作都涉及到了事件的名稱菲驴,可是我們往往在程序運行了一會兒之后就會忘記當初自己對事件的具體命名情況荐吵,那么如何查看事件的名稱呢?我們可以通過如下命令來看事件赊瞬。
SHOW EVENTS;
或者
SELECT * FROM MYSQL.EVENT;
附
該文章于2017年9月28日于CSDN上首次發(fā)表先煎,2017年12月24日搬家至此!