创造事件冲突

时间:2014-07-29 20:23:14

标签: mysql sql

我是一名有抱负的DBA,正在努力磨练自己的技能。我在Ubuntu Server 12.04上运行MySQL 5.5,用于我公司希望上线的SysLog服务器。 giddyup中唯一没有使用LogAnalyzer的清除功能,我想创建自己的SQL,将日志文件放在一个单独的表中,每个月都会延长一段时间,然后在六个月后完全清除它们。 / p>

经过多次测试,我知道我的查询有效,我认为问题出在CREATE EVENT部分。但事件仍然没有发生,也没有任何动静。

DELIMITER ;;

CREATE EVENT SystemLogPurge

ON SCHEDULE EVERY 1 DAY STARTS '2014-7-29 15:55:00'

DO BEGIN

INSERT INTO PastSystemEvents SELECT * FROM SystemEvents WHERE ReceivedAt < 
DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -1 MONTH);

DELETE FROM SystemEvents WHERE ReceivedAt < DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -1 MONTH);

DELETE FROM PastSystemEvents WHERE ReceivedAt < DATE_ADD(CURRENT_TIMESTAMP, INTERVAL -6 MONTH);

END;

;;

我有什么遗失的吗?或者甚至可以完成?

1 个答案:

答案 0 :(得分:0)

您是否在服务器变量中检查了event_scheduler = ON。 这似乎很明显,但有时我们会陷入困境,忘记检查简单的事情。 你可以试试这个:

SET GLOBAL event_scheduler = ON;

或在my.cnf文件中添加/更改此变量