欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL Event Scheduler(事件調度器)

 更新時間:2010年06月21日 12:29:10   作者:  
事件調度器是在 MySQL 5.1 中新增的另一個特色功能,可以作為定時任務調度器,取代部分原先只能用操作系統(tǒng)任務調度器才能完成的定時功能。
一、概述
  事件調度器是在 MySQL 5.1 中新增的另一個特色功能,可以作為定時任務調度器,取代部分原先只能用操作系統(tǒng)任務調度器才能完成的定時功>能。例如,Linux 中的 crontabe 只能精確到每分鐘執(zhí)行一次,而 MySQL 的事件調度器則可以實現(xiàn)每秒鐘執(zhí)行一個任務,這在一些對實時性要>求較高的環(huán)境下就非常實用了。
  事件調度器是定時觸發(fā)執(zhí)行的,在這個角度上也可以稱作是"臨時的觸發(fā)器"。觸發(fā)器只是針對某個表產生的事件執(zhí)行一些語句,而事件調度器則是在某一個(間隔)時間執(zhí)行一些語句。事件是由一個特定的線程來管理的,也就是所謂的"事件調度器"。啟用事件調度器后,擁有 SUPER 權限的賬戶執(zhí)行 SHOW PROCESSLIST 就可以看到這個線程了。通過設定全局變量event_scheduler 的值即可動態(tài)的控制事件調度器是否啟用。
復制代碼 代碼如下:

(root:localhost:)test> SET GLOBAL event_scheduler = ON;
(root:localhost:)test> show processlist\G
*************************** 4. row ***************************
Id: 46147
User: event_scheduler
Host: localhost
db: NULL
Command: Daemon
Time: 1
State: Waiting on empty queue
Info: NULL

  如上,該線程的所有者是 event_scheduler。
  二、應用案例
  本案例是利用 event scheduler 的特性,每秒鐘調用一次存儲過程,用于判斷 SLAVE 是否正常運行,如果發(fā)現(xiàn) SLAVE 關閉了,忽略 0 次錯誤,然后重新啟動 SLAVE。
  首先創(chuàng)建存儲過程
delimiter //
復制代碼 代碼如下:

create procedure `Slave_Monitor`()
begin
SELECT VARIABLE_VALUE INTO @SLAVE_STATUS
FROM information_schema.GLOBAL_STATUS
WHERE VARIABLE_NAME='SLAVE_RUNNING';
IF ('ON' != @SLAVE_STATUS) THEN
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=0;
SLAVE START;
END IF;
end; //
delimiter ;

  由于存儲過程中無法調用類似 SHOW SLAVE STATUS 這樣的語句,因此無法得到確切的復制錯誤信息和錯誤代碼,不能進一步的處理 SLAVE 停止的各種情況。
  接著,創(chuàng)建任務
復制代碼 代碼如下:

CREATE EVENT IF NOT EXISTS `Slave_Monitor`
ON SCHEDULE EVERY 5 SECOND
ON COMPLETION PRESERVE
DO
CALL Slave_Monitor();

  創(chuàng)建了一個任務,每 5秒鐘 執(zhí)行一次,任務結束后依舊保留該任務,而不是刪除。當然了,在本例中的任務不會結束,除非將它手動禁止了。
  如果在運行中想要臨時關閉一下某個任務,執(zhí)行 ALTER EVENT 語句即可:
復制代碼 代碼如下:

(root:localhost:)test> alter event `Slave_Monitor` ON
COMPLETION PRESERVE DISABLE;
(root:localhost:)test> alter event `Slave_Monitor` ON
COMPLETION PRESERVE ENABLE;

相關文章

  • 通過yum方式安裝mySql數(shù)據(jù)庫的全過程

    通過yum方式安裝mySql數(shù)據(jù)庫的全過程

    當工作需要部署mysql時,通過手動上傳安裝包以及依賴包的方式安裝mysql會比較麻煩,可以添加官方y(tǒng)um源,來實現(xiàn)自動安裝依賴,方便快捷,下面這篇文章主要給大家介紹了關于通過yum方式安裝mySql數(shù)據(jù)庫的相關資料,需要的朋友可以參考下
    2022-07-07
  • 關于查詢MySQL字段注釋的5種方法總結

    關于查詢MySQL字段注釋的5種方法總結

    在MySQL數(shù)據(jù)庫中,字段或列的注釋是用屬性comment來添加,下面這篇文章主要給大家介紹了關于查詢MySQL字段注釋的5種方法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-01-01
  • SQL實現(xiàn)LeetCode(185.系里前三高薪水)

    SQL實現(xiàn)LeetCode(185.系里前三高薪水)

    這篇文章主要介紹了SQL實現(xiàn)LeetCode(185.系里前三高薪水),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • mysql實現(xiàn)查詢數(shù)據(jù)并根據(jù)條件更新到另一張表的方法示例

    mysql實現(xiàn)查詢數(shù)據(jù)并根據(jù)條件更新到另一張表的方法示例

    這篇文章主要介紹了mysql實現(xiàn)查詢數(shù)據(jù)并根據(jù)條件更新到另一張表的方法,結合實例形式分析了mysql多表關聯(lián)查詢、更新等相關操作技巧,需要的朋友可以參考下
    2019-03-03
  • Mysql精粹系列(精粹)

    Mysql精粹系列(精粹)

    本文都是小編日常整理的mysql精粹內容,需要大家熟練掌握并記憶的知識,非常不錯,具有參考借鑒價值,對mysql知識感興趣的朋友一起看看吧
    2016-09-09
  • MySQL向表中添加列方法實例

    MySQL向表中添加列方法實例

    要在MySQL的表中添加列,我們可以將ALTER命令與add column命令一起使用,下面這篇文章主要給大家介紹了關于MySQL向表中添加列的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 登錄MySQL時出現(xiàn)SSL connection error: unknown error number錯誤的解決方法

    登錄MySQL時出現(xiàn)SSL connection error: unknown 

    這篇文章主要介紹了登錄MySQL時出現(xiàn)SSL connection error: unknown error number錯誤的解決方法,文中通過圖文結合的形式講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-12-12
  • MySQL解決Navicat設置默認字符串時的報錯問題

    MySQL解決Navicat設置默認字符串時的報錯問題

    本文主要介紹了MySQL解決Navicat設置默認字符串時的報錯,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2022-06-06
  • Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備)

    Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備)

    本文主要介紹了Ubuntu搭建Mysql+Keepalived高可用的實現(xiàn)(雙主熱備),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • MySQL的下載、安裝詳細教程

    MySQL的下載、安裝詳細教程

    本文的主要目的是在?Windwos?上安裝?MySQL,以下內容是源于?B站?-?MySQL數(shù)據(jù)庫入門到精通整理而來,需要的朋友可以參考下
    2023-06-06

最新評論