navicat創(chuàng)建MySql 定時(shí)任務(wù)詳解
事件(event)是MySQL在相應(yīng)的時(shí)刻調(diào)用的過程式數(shù)據(jù)庫(kù)對(duì)象。一個(gè)事件可調(diào)用一次,也可周期性的啟動(dòng),它由一個(gè)特定的線程來管理的,也就是所謂的“事件調(diào)度器”。事件和觸發(fā)器類似,都是在某些事情發(fā)生的時(shí)候啟動(dòng)。當(dāng)數(shù)據(jù)庫(kù)上啟動(dòng)一條語(yǔ)句的時(shí)候,觸發(fā)器就啟動(dòng)了,而事件是根據(jù)調(diào)度事件來啟動(dòng)的。由于他們彼此相似,所以事件也稱為臨時(shí)性觸發(fā)器。事件取代了原先只能由操作系統(tǒng)的計(jì)劃任務(wù)來執(zhí)行的工作,而且MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個(gè)任務(wù),而操作系統(tǒng)的計(jì)劃任務(wù)(如:Linux下的CRON或Windows下的任務(wù)計(jì)劃)只能精確到每分鐘執(zhí)行一次。
一、開起定時(shí)任務(wù)
1、定時(shí)任務(wù)是默認(rèn)關(guān)閉的,Value值為ON時(shí)就是開起狀態(tài);
SHOW VARIABLES LIKE '%event_sche%';

2、開起定時(shí)任務(wù)
SET GLOBAL event_scheduler = 1;
3、關(guān)閉定時(shí)任務(wù)
SET GLOBAL event_scheduler = 0;
如果需要長(zhǎng)期開起定時(shí)任務(wù)需要在my.ini中配置 event_scheduler = on
二、通過navicat創(chuàng)建定時(shí)任務(wù)
1、找到事件新建一個(gè)事件

2、定義是填寫需要運(yùn)行的sql或者事件、儲(chǔ)存過程。
3、計(jì)劃是這個(gè)定時(shí)任務(wù)的運(yùn)行規(guī)則。
計(jì)劃中有兩種事件 AT和EVERY,EVERY又稱“事件調(diào)度器”,一個(gè)事件可調(diào)用一次,也可周期性的啟動(dòng),它由一個(gè)特定的線程來管理的。

這里設(shè)置的就是從2020-08-06 12:00:00 開始每1天執(zhí)行一次。
點(diǎn)擊預(yù)覽sql可以查看創(chuàng)建定時(shí)任務(wù)。

4、這里跟大家準(zhǔn)備了很多列子理解這個(gè)設(shè)置。
1. 在創(chuàng)建事件myevent1小時(shí)后執(zhí)行,執(zhí)行一條更新
CREATE EVENT myevent
ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
UPDATE myschema.mytable SET mycol = mycol + 1;
2.2014年3月20日12點(diǎn)整清空test表:
CREATE EVENT e_test
ON SCHEDULE AT TIMESTAMP '2014-03-20 12:00:00'
DO TRUNCATE TABLE test.aaa;
3.5天后開啟每天定時(shí)清空test表:
CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
4.每天定時(shí)清空test表,5天后停止執(zhí)行
CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
DO TRUNCATE TABLE test.aaa;
5.5天后開啟每天定時(shí)清空test表,一個(gè)月后停止執(zhí)行:
CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
DO TRUNCATE TABLE test.aaa;
6.每天定時(shí)清空test表(只執(zhí)行一次,任務(wù)完成后就終止該事件):
CREATE EVENT e_test
ON SCHEDULE EVERY 1 DAY
ON COMPLETION NOT PRESERVE
DO TRUNCATE TABLE test.aaa;
[ON COMPLETION [NOT] PRESERVE]可以設(shè)置這個(gè)事件是執(zhí)行一次還是持久執(zhí)行,默認(rèn)為NOT PRESERVE。
三、關(guān)閉、啟動(dòng)、別名、移動(dòng)、刪除event
修改定時(shí)任務(wù)ALTER,修改和創(chuàng)建唯一不一樣的是第一個(gè)單詞創(chuàng)建是CREATE,修改為 ALTER。
ALTER EVENT myevent
... 具體修改內(nèi)容
臨時(shí)關(guān)閉某個(gè)event
ALTER EVENT myevent DISABLE;
開啟某個(gè)event
ALTER EVENT myevent ENABLE;
別名某個(gè)event
ALTER EVENT olddb.myevent
RENAME TO newdb.myevent;
將myevent從olddb庫(kù)移動(dòng)到newdb庫(kù)
ALTER EVENT olddb.myevent
RENAME TO newdb.myevent;
刪除event
DROP EVENT [IF EXISTS] event_name
四、查詢Event信息
Event信息相關(guān)表
information_schema.events
mysql.event
查看事件的創(chuàng)建信息
show create event countsum \G
查看sem庫(kù)的events信息
到此這篇關(guān)于navicat創(chuàng)建MySql定時(shí)任務(wù)的方法詳解的文章就介紹到這了,更多相關(guān)navicat創(chuàng)建MySql定時(shí)任務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 解決Navicat無(wú)法連接 VMware中Centos系統(tǒng)中的 MySQL服務(wù)器的問題
- 完美解決docker安裝mysql后Navicat連接不上的問題
- 關(guān)于Navicat連接MySql數(shù)據(jù)庫(kù)慢的問題
- Navicat for MySQL 15注冊(cè)激活詳細(xì)教程
- Navicat Premium遠(yuǎn)程連接MySQL數(shù)據(jù)庫(kù)的方法
- 解決navicat遠(yuǎn)程連接mysql報(bào)錯(cuò)10038的問題
- Navicat for MySQL 11注冊(cè)碼\激活碼匯總
- 詳解Navicat遠(yuǎn)程連接mysql很慢
- Navicat Premium操作MySQL數(shù)據(jù)庫(kù)(執(zhí)行sql語(yǔ)句)
- Navicat連接虛擬機(jī)mysql常見錯(cuò)誤問題及解決方法
- Navicat premium連接數(shù)據(jù)庫(kù)出現(xiàn):2003 Can''t connect to MySQL server on''localhost''(10061)
- Navicat出現(xiàn)無(wú)法遠(yuǎn)程連接MySql服務(wù)器問題的解決辦法
- 如何用Navicat操作MySQL