Mysql5.7創建定時事件

一.首先介紹基本操作過程

1 前言

利用navicat工具來寫存儲過程及定時執行,此文章是按照自身經驗總結的,僅作爲記錄使用。

2 步驟

2.1 新建過程

2.2 在函數體寫你需要執行的代碼

1

2

3

4

5

6

7

8

9

10

11

12

13

14

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`()

BEGIN

    #Routine body goes here...

    #DECLARE int;

    SET @time = NOW();

    SET @item = 'num';

    SET @type = 'day';

     

    select content into @content from rank where  uid = 123456 and num >0;

     

        INSERT INTO rank2(time,item,type,content) VALUES(@time,@item,@type,@content);

 

        UPDATE rank SET num=0 WHERE userid >0;

END       

2.3 創建一個事件

2.3.1 新建事件

2.3.2 定義需要調用的過程

2.3.3 填寫你定時計劃

代碼預覽如下:

1

2

3

4

CREATE EVENT `nodejs`.`Untitled`

ON SCHEDULE

EVERY '1' DAY STARTS '2018-07-25 00:00:00'

DO call test();    

3 異常

如果發現,你步驟都設置完了,還沒有起作用,那可能是定時器開關沒打開。

查看是否有開啓,方法 show variables like 'event%';

如果是OFF,則用SET GLOBAL event_scheduler = 1;或者SET GLOBAL event_scheduler = ON;開啓。開啓後其Value則爲ON。

 

以上轉自:https://www.cnblogs.com/fanbi/p/9361204.html

二.定時事件的停止與開啓 

1、創建事件

DELIMITER $$

#創建一個定時分配訂單的事件
CREATE event jobOrderSplit

#開啓定時
ON SCHEDULE

#3分鐘運行一次
EVERY 3 MINUTE

#每天的9點10時,3分鐘分一次單
STARTS '2015-09-23 09:10:00'

DO

BEGIN

#調用自動分單的存儲過程
CALL automaticSplitting();

END;

DELIMITER;

 

2、開啓事件

#設置啓動的全局變量

set global event_scheduler=1/ON; 

#啓動單獨一個事件

ALTER EVENT eventName ON COMPLETION PRESERVE ENABLE;

 

3、停止事件

#設置關閉的全局變量

set global event_scheduler=0/OFF; 

#啓動單獨一個事件

ALTER EVENT eventName ON COMPLETION PRESERVE DISABLE;

 

另:如果事件全部變量是關閉的,就算開啓單獨的事件也不會執行

查看mysql全局變量事件是否開啓 ON:開 OFF:關

SHOW VARIABLES LIKE 'event_scheduler';

以上轉自:https://www.iteye.com/blog/wangduorong-2300769

三.可能遇到的問題

定時事件event_scheduler的問題

1.查看事件是否開啓

    1-1.show variables like 'event_scheduler';    

    1-2.select @@event_scheduler;

    1-3.show processlist;

    如果event_scheduler=off 沒有開啓  on開啓

    1-4開啓event_scheduler

        set global event_scheduler = 'on';

    //注意:還是要在my.cnf中添加event_scheduler=ON。否則mysql重啓事件又會回到原來的狀態了。

 2.查看事件

       select * from mysql.event

以上轉自:https://blog.csdn.net/w892824196/article/details/86622287

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章