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;