mysql 啟動事件 啟動觸發器功能

來源:互聯網
上載者:User

標籤:啟動觸發器

事件調度器有時也可稱為臨時觸發器(temporal triggers),

因為事件調度器是基於特定時間周期觸發來執行某些任務,而觸發器(Triggers)是基於某個表所產生的事件觸發的,區別也就在這裡。 

在使用這個功能之前必須確保event_scheduler已開啟,可執行 

開啟:

①(開啟事件觸發程序)

SET GLOBAL event_scheduler = 1;

  

或我們可以在配置my.ini檔案 中加上 event_scheduler = 1


②或  

SET GLOBAL event_scheduler = ON;


來開啟,也可以直接在啟動命令加上“–event_scheduler=1”,例如: 

mysqld ... --event_scheduler=1 

要查看當前是否已開啟事件調度器,可執行如下SQL: 

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

或 

擁有 SUPER 許可權的賬戶執行 SHOW PROCESSLIST 就可以看到這個線程了。


在使用事件這個功能,首先要保證你的mysql的版本是5.1以上,然後還要查看你的mysql伺服器上的事件是否開啟。

如果看到event_scheduler為on

或者PROCESSLIST中顯示有event_scheduler的資訊說明就已經開啟了事件。如果顯示為off

或者在PROCESSLIST中查看不到event_scheduler的資訊,那麼就說明事件沒有開啟,我們需要開啟它。


其他:

-- 開啟事件調度的支援SET GLOBAL event_scheduler = 1;-- 列出事件SHOW EVENTS;SHOW CREATE EVENT del_user;  -- 查詢觸發器是否啟動。SHOW VARIABLES LIKE ‘event_scheduler‘; -- 定義預存程序  (修改test表裡面的id都為5)DELIMITER //DROP PROCEDURE IF EXISTS usp_update_test;CREATE PROCEDURE usp_update_test()-- expire_interval: the unit is hour-- delete_per_count: specify the count do every delete operationBEGIN    DECLARE id INT;SET id=5;   update test set id=id;END //DELIMITER ;-- 定義事件  (一分鐘執行一次上面的預存程序)DROP EVENT IF EXISTS del_test;CREATE EVENT del_testON SCHEDULE EVERY 1 MINUTEDOCALL usp_update_test()


本文出自 “JianBo” 部落格,請務必保留此出處http://jianboli.blog.51cto.com/12075002/1884180

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.