mysql的事件开启,停止和启动

 

 

事件

事件开启状态

show variables like 'event_scheduler';

mysql的事件开启,停止和启动

当前服务命令修改:

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

mysql的事件开启,停止和启动

再查看;

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

mysql的事件开启,停止和启动

事件删除

drop event EVENT_NAME;