您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹navicat如何創建MySql定時任務,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
navicat創建MySql 定時任務詳解
事件(event)是MySQL在相應的時刻調用的過程式數據庫對象。一個事件可調用一次,也可周期性的啟動,它由一個特定的線程來管理的,也就是所謂的“事件調度器”。事件和觸發器類似,都是在某些事情發生的時候啟動。當數據庫上啟動一條語句的時候,觸發器就啟動了,而事件是根據調度事件來啟動的。由于他們彼此相似,所以事件也稱為臨時性觸發器。事件取代了原先只能由操作系統的計劃任務來執行的工作,而且MySQL的事件調度器可以精確到每秒鐘執行一個任務,而操作系統的計劃任務(如:Linux下的CRON或Windows下的任務計劃)只能精確到每分鐘執行一次。
一、開起定時任務
1、定時任務是默認關閉的,Value值為ON時就是開起狀態;
SHOW VARIABLES LIKE '%event_sche%';
2、開起定時任務
SET GLOBAL event_scheduler = 1;
3、關閉定時任務
SET GLOBAL event_scheduler = 0;
如果需要長期開起定時任務需要在my.ini中配置 event_scheduler = on
二、通過navicat創建定時任務
1、找到事件
新建一個事件
2、定義是填寫需要運行的sql或者事件、儲存過程。
3、計劃是這個定時任務的運行規則。
計劃中有兩種事件 AT和EVERY,EVERY又稱“事件調度器”,一個事件可調用一次,也可周期性的啟動,它由一個特定的線程來管理的。
這里設置的就是從2020-08-06 12:00:00 開始每1天執行一次。
點擊預覽sql可以查看創建定時任務。
4、這里跟大家準備了很多列子理解這個設置。
1. 在創建事件myevent1小時后執行,執行一條更新 CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR DO UPDATE myschema.mytable SET mycol = mycol + 1; 2.2014年3月20日12點整清空test表: CREATE EVENT e_test ON SCHEDULE AT TIMESTAMP '2014-03-20 12:00:00' DO TRUNCATE TABLE test.aaa; 3.5天后開啟每天定時清空test表: CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa; 4.每天定時清空test表,5天后停止執行 CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa; 5.5天后開啟每天定時清空test表,一個月后停止執行: 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.每天定時清空test表(只執行一次,任務完成后就終止該事件): CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE DO TRUNCATE TABLE test.aaa; [ON COMPLETION [NOT] PRESERVE]可以設置這個事件是執行一次還是持久執行,默認為NOT PRESERVE。
三、關閉、啟動、別名、移動、刪除event
修改定時任務ALTER,修改和創建唯一不一樣的是第一個單詞創建是CREATE,修改為 ALTER。
ALTER EVENT myevent ... 具體修改內容
臨時關閉某個event
ALTER EVENT myevent DISABLE;
開啟某個event
ALTER EVENT myevent ENABLE;
別名某個event
ALTER EVENT olddb.myevent RENAME TO newdb.myevent;
將myevent從olddb庫移動到newdb庫
ALTER EVENT olddb.myevent RENAME TO newdb.myevent;
刪除event
DROP EVENT [IF EXISTS] event_name
四、查詢Event信息
Event信息相關表
information_schema.events mysql.event
查看事件的創建信息
show create event countsum \G
查看sem庫的events信息
USE sem; SHOW EVENTS \G
關于navicat如何創建MySql定時任務就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。