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)的計(jì)劃任務(wù)來執(zhí)行的工作,而且mysql的事件調(diào)度器可以精確到每秒鐘執(zhí)行一個任務(wù),而操作系統(tǒng)的計(jì)劃任務(wù)(如:linux下的cron或windows下的任務(wù)計(jì)劃)只能精確到每分鐘執(zhí)行一次。
一、開起定時任務(wù)
1、定時任務(wù)是默認(rèn)關(guān)閉的,value值為on時就是開起狀態(tài);
1
|
show variables like '%event_sche%' ; |
2、開起定時任務(wù)
1
|
set global event_scheduler = 1; |
3、關(guān)閉定時任務(wù)
1
|
set global event_scheduler = 0; |
如果需要長期開起定時任務(wù)需要在my.ini中配置 event_scheduler = on
二、通過navicat創(chuàng)建定時任務(wù)
1、找到事件
新建一個事件
2、定義是填寫需要運(yùn)行的sql或者事件、儲存過程。
3、計(jì)劃是這個定時任務(wù)的運(yùn)行規(guī)則。
計(jì)劃中有兩種事件 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
1. 在創(chuàng)建事件myevent1小時后執(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天后開啟每天定時清空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。
1
2
|
alter event myevent ... 具體修改內(nèi)容 |
臨時關(guān)閉某個event
1
|
alter event myevent disable; |
開啟某個event
1
|
alter event myevent enable; |
別名某個event
1
2
|
alter event olddb.myevent rename to newdb.myevent; |
將myevent從olddb庫移動到newdb庫
1
2
|
alter event olddb.myevent rename to newdb.myevent; |
刪除event
1
|
drop event [if exists] event_name |
四、查詢event信息
event信息相關(guān)表
1
2
|
information_schema.events mysql.event |
查看事件的創(chuàng)建信息
1
|
show create event countsum \g |
查看sem庫的events信息
1
2
|
use sem; show events \g |
到此這篇關(guān)于navicat創(chuàng)建mysql定時任務(wù)的方法詳解的文章就介紹到這了,更多相關(guān)navicat創(chuàng)建mysql定時任務(wù)內(nèi)容請搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/weixin_44325655/article/details/107832554