1. 程式人生 > 實用技巧 >mysql的事件開啟,停止和啟動

mysql的事件開啟,停止和啟動

事件

事件開啟狀態

show variables like 'event_scheduler';

當前服務命令修改:

SET GLOBAL event_scheduler = ON

配置檔案修改:

l在my.cnf/my.ini(mysql配置檔案)中[mysqld]部分中新增下面內容,重啟MYSQL

event_scheduler=ON

注意:這個配置會和skip_grant_tables衝突,需要註釋skip_grant_tables處理

windows下停止和啟動

Windows* Windows下不能直接重啟(restart),只能先停止,再啟動。

  1.點選“開始”->“執行”(快捷鍵Win+R)。

  2.啟動:輸入 net stop mysql

  3.停止:輸入 net start mysql

再檢視;

事件建立

1、建立函式SP()

DELIMITER $
CREATE PROCEDURE SP()
BEGIN
INSERT INTO BROWSING_RECORD_HISTORY SELECT * FROM BROWSING_RECORD WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
DELETE FROM BROWSING_RECORD WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;

INSERT INTO REQUEST_DETAILS_HISTORY SELECT * FROM REQUEST_DETAILS WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
DELETE FROM REQUEST_DETAILS WHERE OPERATION_TIME < NOW() - INTERVAL 30 DAY;
END

2、建立事件

--從2020-10-21開始,每天在12:00:00進行一個SP()操作。而且只執行一次

CREATE EVENT IF NOT EXISTS EVENT_TEMP
ON SCHEDULE AT '2020-10-20 12:00:00' + INTERVAL 1 DAY

ON COMPLETION PRESERVE
DO CALL SP();

-- 參考說明:ON SCHEDULE AT '2020-10-20 12:00:00' + INTERVAL 1 DAY

事件刪除

drop event EVENT_NAME;