MySQL建立事件調度器

來源:互聯網
上載者:User

標籤:mysql   event   事件調度器   

  MySQL中的事件調度器,可以用來執行定時任務。

一、開啟

  事件調度預設是關閉的,開啟可執行。

  查看事件調度器是否開啟:

    SHOW VARIABLES LIKE ‘event_scheduler‘;  SELECT @@event_scheduler;

  開啟事件調度器

  SET GLOBAL event_scheduler=1;

  SET GLOBAL event_scheduler=ON;


  或者在my.ini檔案中加上event_scheduler=1

  或者在啟動命令後加上"-event_scheduler=1"

    

  查看現有的事件調度器

   show events;

  查看事件調度器的狀態

   show processlist;

二、建立事件調度器  

CREATE EVENT [IF NOT EXISTS] event_name    ON SCHEDULE schedule    [ON COMPLETION [NOT] PRESERVE]    [ENABLE | DISABLE]    [COMMENT ‘comment‘]    DO sql_statement;

schedule:是執行計畫,有兩個選項,第一是在某一時刻執行,第二是從某時到某時每隔一段時間執行。

    AT TIMESTAMP [+ INTERVAL INTERVAL] | EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]

    AT TIMESTAMP [+ INTERVAL INTERVAL]:只在指定的時間點執行;

    EVERY INTERVAL [STARTS TIMESTAMP] [ENDS TIMESTAMP]:間隔多長時間執行;

INTERVAL:時間間隔,可以精確到秒。

    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |

    WEEK | SECOND | YEAR_MONTH

event_name:是你要建立的事件名稱

ON COMPLETION [NOT] PRESERVE:結束後是否儲存,預設不儲存,一旦執行完,事件就被刪除了,因此強烈建議此參數設為 ON COMPLETION PRESERVE。

DO sql_statement:可以是DML語句、DCL語句或者調用預存程序。

三、修改事件調度器

ALTER EVENT event_name    [ON SCHEDULE schedule]    [RENAME TO new_event_name]    [ON COMPLETION [NOT] PRESERVE]    [COMMENT ‘comment‘]    [ENABLE | DISABLE] [DO sql_statement]

四、事件調度器的例子

例1:1分鐘後添加資料

create event if not exists eve_test    ON SCHEDULE AT current_timestamp() + interval 1 minute    ON COMPLETION PRESERVE    do    insert into test_20161107(t_day)    values(now());

例2:更改成每隔1分鐘添加資料   

alter event eve_test    on schedule every 1 minute starts now()    on completion preserve    enable    do insert into test_20161107(t_day)    values(now());

   修改之後使用show events 查看事件調度器的狀態;

例3:調用預存程序

 alter event eve_test    on schedule every 1 minute starts now()    on completion preserve    enable    do call proc_test();

五、刪除

   DROP EVENT [IF EXISTS] event_name;

    

本文出自 “三國冷笑話” 部落格,請務必保留此出處http://myhwj.blog.51cto.com/9763975/1870202

MySQL建立事件調度器

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.