navicat創(chuàng)建MySql定時任務(wù)的方法詳解
navicat創(chuàng)建MySql 定時任務(wù)詳解
事件(event)是MySQL在相應(yīng)的時刻調(diào)用的過程式數(shù)據(jù)庫對象。一個事件可調(diào)用一次,也可周期性的啟動,它由一個特定的線程來管理的,也就是所謂的“事件調(diào)度器”。事件和觸發(fā)器類似,都是在某些事情發(fā)生的時候啟動。當(dāng)數(shù)據(jù)庫上啟動一條語句的時候,觸發(fā)器就啟動了,而事件是根據(jù)調(diào)度事件來啟動的。由于他們彼此相似,所以事件也稱為臨時性觸發(fā)器。事件取代了原先只能由操作系統(tǒng)的計劃任務(wù)來執(zhí)行的工作,而且MySQL的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個任務(wù),而操作系統(tǒng)的計劃任務(wù)(如:Linux下的CRON或Windows下的任務(wù)計劃)只能精確到每分鐘執(zhí)行一次。
一、開起定時任務(wù)
1、定時任務(wù)是默認(rèn)關(guān)閉的,Value值為ON時就是開起狀態(tài);
SHOW VARIABLES LIKE ’%event_sche%’;
2、開起定時任務(wù)
SET GLOBAL event_scheduler = 1;
3、關(guān)閉定時任務(wù)
SET GLOBAL event_scheduler = 0;
如果需要長期開起定時任務(wù)需要在my.ini中配置 event_scheduler = on
二、通過navicat創(chuàng)建定時任務(wù)
1、找到事件新建一個事件
2、定義是填寫需要運(yùn)行的sql或者事件、儲存過程。3、計劃是這個定時任務(wù)的運(yùn)行規(guī)則。計劃中有兩種事件 AT和EVERY,EVERY又稱“事件調(diào)度器”,一個事件可調(diào)用一次,也可周期性的啟動,它由一個特定的線程來管理的。
這里設(shè)置的就是從2020-08-06 12:00:00 開始每1天執(zhí)行一次。點(diǎn)擊預(yù)覽sql可以查看創(chuàng)建定時任務(wù)。
4、這里跟大家準(zhǔn)備了很多列子理解這個設(shè)置。
1. 在創(chuàng)建事件myevent1小時后執(zhí)行,執(zhí)行一條更新CREATE EVENT myevent ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOURDO 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天后開啟每天定時清空test表:CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;4.每天定時清空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天后開啟每天定時清空test表,一個月后停止執(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.每天定時清空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è)置這個事件是執(zhí)行一次還是持久執(zhí)行,默認(rèn)為NOT PRESERVE。
三、關(guān)閉、啟動、別名、移動、刪除event
修改定時任務(wù)ALTER,修改和創(chuàng)建唯一不一樣的是第一個單詞創(chuàng)建是CREATE,修改為 ALTER。
ALTER EVENT myevent ... 具體修改內(nèi)容
臨時關(guān)閉某個event
ALTER EVENT myevent DISABLE;
開啟某個event
ALTER EVENT myevent ENABLE;
別名某個event
ALTER EVENT olddb.myeventRENAME TO newdb.myevent;
將myevent從olddb庫移動到newdb庫
ALTER EVENT olddb.myeventRENAME TO newdb.myevent;
刪除event
DROP EVENT [IF EXISTS] event_name
四、查詢Event信息
Event信息相關(guān)表
information_schema.eventsmysql.event
查看事件的創(chuàng)建信息
show create event countsum G
查看sem庫的events信息
USE sem;SHOW EVENTS G
到此這篇關(guān)于navicat創(chuàng)建MySql定時任務(wù)的方法詳解的文章就介紹到這了,更多相關(guān)navicat創(chuàng)建MySql定時任務(wù)內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 有時Oracle不用索引來查找數(shù)據(jù)的原因2. MySQL 編碼utf8 與 utf8mb4 utf8mb4_unicode_ci 與 utf8mb4_general_ci3. Centos7 下mysql重新啟動MariaDB篇4. sql server 2005中的表分區(qū)5. 使用DB2look 重新創(chuàng)建優(yōu)化器訪問計劃(3)(1)6. MariaDB的安裝與配置教程7. MySQL之高可用集群部署及故障切換實現(xiàn)8. 詳解mysql的備份與恢復(fù)9. 利用sql server 2005數(shù)據(jù)庫郵件發(fā)送電子郵件10. sql server添加唯一性約束的方法步驟
