日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
MySQL事件調(diào)度器的操作流程

下面的文章主要介紹的是MySQL 事件調(diào)度器(Event Scheduler),我們這次試驗的事件調(diào)度器是在 MySQL 5.1 的環(huán)境中進(jìn)行的,其新增另一個相關(guān)功能,可以用來作為一個新的定時任務(wù)調(diào)度器。

成都創(chuàng)新互聯(lián)公司是專業(yè)的金門網(wǎng)站建設(shè)公司,金門接單;提供網(wǎng)站制作、成都網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行金門網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

取代部分原先只能用操作系統(tǒng)任務(wù)調(diào)度器才能完成的定時功能。
一、概述

事件調(diào)度器是在 MySQL 5.1 中新增的另一個特色功能,可以作為定時任務(wù)調(diào)度器,取代部分原先只能用操作系統(tǒng)任務(wù)調(diào)度器才能完成的定時功>能。例如,Linux 中的 crontabe 只能精確到每分鐘執(zhí)行一次,而 MySQL事件調(diào)度器則可以實現(xiàn)每秒鐘執(zhí)行一個任務(wù),這在一些對實時性要>求較高的環(huán)境下就非常實用了。

事件調(diào)度器是定時觸發(fā)執(zhí)行的,在這個角度上也可以稱作是"臨時的觸發(fā)器"。觸發(fā)器只是針對某個表產(chǎn)生的事件執(zhí)行一些語句,而事件調(diào)度器則是在某一個(間隔)時間執(zhí)行一些語句。

事件是由一個特定的線程來管理的,也就是所謂的"事件調(diào)度器"。啟用MySQL 事件調(diào)度器后,擁有 SUPER 權(quán)限的賬戶執(zhí)行 SHOW PROCESSLIST 就可以看到這個線程了。通過設(shè)定全局變量event_scheduler 的值即可動態(tài)的控制事件調(diào)度器是否啟用。

 
 
 
  1. (root:localhost:)test> SET GLOBAL event_scheduler = ON;  
  2. (root:localhost:)test> show processlist\G 

4. row

 
 
 
  1. Id: 46147  
  2. User: event_scheduler  
  3. Host: localhost  
  4. db: NULL  
  5. Command: Daemon  
  6. Time: 1  
  7. State: Waiting on empty queue  
  8. Info: NULL  

 

如上,該線程的所有者是 event_scheduler。

二、應(yīng)用案例

實現(xiàn)MySQL 事件調(diào)度器本,案例是利用 event scheduler 的特性,每秒鐘調(diào)用一次存儲過程,用于判斷 SLAVE 是否正常運行,如果發(fā)現(xiàn) SLAVE 關(guān)閉了,忽略 0 次錯誤,然后重新啟動 SLAVE。

首先創(chuàng)建存儲過程

 
 
 
  1. delimiter //  
  2. create procedure `Slave_Monitor`()  
  3. begin  
  4. SELECT VARIABLE_VALUE INTO @SLAVE_STATUS   
  5. FROM information_schema.GLOBAL_STATUS   
  6. WHERE VARIABLE_NAME='SLAVE_RUNNING';  
  7. IF ('ON' != @SLAVE_STATUS) THEN  
  8. SET GLOBAL SQL_SLAVE_SKIP_COUNTER=0;  
  9. SLAVE START;  
  10. END IF;  
  11. end; //  
  12. delimiter ;  

 

由于存儲過程中無法調(diào)用類似 SHOW SLAVE STATUS 這樣的語句,因此無法得到確切的復(fù)制錯誤信息和錯誤代碼,不能進(jìn)一步的處理 SLAVE 停止的各種情況。

接著,創(chuàng)建任務(wù)

 
 
 
  1. CREATE EVENT IF NOT EXISTS `Slave_Monitor`  
  2. ON SCHEDULE EVERY 5 SECOND  
  3. ON COMPLETION PRESERVE  
  4. DO  
  5. CALL Slave_Monitor();  

創(chuàng)建了一個任務(wù),每 5秒鐘 執(zhí)行一次,任務(wù)結(jié)束后依舊保留該任務(wù),而不是刪除。當(dāng)然了,在本例中的任務(wù)不會結(jié)束,除非將它手動禁止了。

如果在運行中想要臨時關(guān)閉一下某個任務(wù),執(zhí)行 ALTER EVENT 語句即可:

 
 
 
  1. (root:localhost:)test> alter event `Slave_Monitor` ON   
  2. COMPLETION PRESERVE DISABLE;  
  3. (root:localhost:)test> alter event `Slave_Monitor` ON   
  4. COMPLETION PRESERVE ENABLE; 

以上的相關(guān)內(nèi)容就是對MySQL 事件調(diào)度器的介紹,望你能有所收獲。


分享題目:MySQL事件調(diào)度器的操作流程
新聞來源:http://www.dlmjj.cn/article/cccspie.html