mysql定時任務(event事件)
1.event事件mysql
- 事件(event)是MySQL在相應的時刻調用的過程式數據庫對象。一個事件可調用一次,也可週期性的啓動,它由一個特定的線程來管理的,也就是所謂的「事件調度器」
- 事件和觸發器相似,都是在某些事情發生的時候啓動。當數據庫上啓動一條語句的時候,觸發器就啓動了,而事件是根據調度事件來啓動的,事件也稱爲臨時性觸發器
- 事件取代了原先只能由操做系統的計劃任務來執行的工做,並且MySQL的事件調度器能夠精確到每秒鐘執行一個任務,而操做系統的計劃任務(如:Linux下的CRON或Windows下的任務計劃)只能精確到每分鐘執行一次
2.建立事件sql
- 事件由兩個主要部分組成,第一部分是事件調度(event schedule),表示事件什麼時候啓動以及按什麼頻率啓動,第二部分是事件動做(event action ),這是事件啓動時執行的代碼,事件的動做包含一條SQL語句,它多是一個簡單地insert或者update語句,也可使一個存儲過程或者 benin...end語句塊,這兩種狀況容許咱們執行多條SQL
- 一個事件能夠是活動(打開)的或中止(關閉)的,活動意味着事件調度器檢查事件動做是否必須調用,中止意味着事件的聲明存儲在目錄中,但調度器不會檢查它是否應該調用。在一個事件建立以後,它當即變爲活動的(ENABLE),一個活動的事件能夠執行一次或者屢次
3.開啓關閉事件調度器數據庫
- MySQL事件調度器event_scheduler負責調用事件,它默認是關閉的。這個調度器不斷地監視一個事件是否要調用, 要執行事件,必須打開調度器
- 查看當前是否已開啓事件調度:SHOW VARIABLES LIKE 'event_scheduler';
- 開啓事件計劃;鍵值1或者ON表示開啓;0或者OFF表示關閉:SET GLOBAL event_scheduler = ON;或者經過配置文件my.cnf:event_scheduler = 1 #或者ON
4.查看、修改和刪除事件spa
- 查看事件
- 查看當前所在庫的事件:show events;
- 查看全部事件:select * from mysql.event;
- 修改事件:修改事件的定義和屬性
- 開啓某事件:ALTER EVENT auto_del_students ON COMPLETION PRESERVE ENABLE;
- 關閉某事件:ALTER EVENT auto_del_students ON COMPLETION PRESERVE DISABLE;
- 修改事件名:ALTER EVENT auto_del_students RENAME TO
auto_del_students1;
- 修改執行形式:every或者at
- 刪除事件:DROP EVENT [IF EXISTS] event_name
5.調用存儲過程操作系統
歡迎關注本站公眾號,獲取更多信息