我是一名有抱负的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;
;;
我有什么遗失的吗?或者甚至可以完成?
答案 0 :(得分:0)
您是否在服务器变量中检查了event_scheduler = ON。 这似乎很明显,但有时我们会陷入困境,忘记检查简单的事情。 你可以试试这个:
SET GLOBAL event_scheduler = ON;
或在my.cnf文件中添加/更改此变量