mysql定义事件并查看事件是否执行
Posted 屌丝大叔的笔记
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql定义事件并查看事件是否执行相关的知识,希望对你有一定的参考价值。
定义事件:
-- 定义事件,删除10天前数据,并指定每5秒执行一次;Event_syslog为事件名称 CREATE EVENT IF NOT EXISTS Event_syslog ON SCHEDULE EVERY 5 SECOND STARTS curdate() ON COMPLETION PRESERVE DO BEGIN -- 定义时间变量 DECLARE dattime DATETIME; set dattime = DATE_FORMAT(DATE_SUB(CURDATE(),INTERVAL 10 DAY),\'%Y%m%d\');-- 10天前 DELETE FROM syslog WHERE DATE_FORMAT(CreateTime,\'%Y%m%d\')<dattime ORDER BY CreateTime limit 100;-- 每次删除100条 END
一开始事件没有执行,后来通过以下命令发现任务里面根本就没有该事件。
show processlist;
然后再通过下面的命令查看事件是否启用?
show variables like \'event_scheduler\';
通过上图可以看到,事件没有启用,那么我们启用事件就行了。 执行以下命令:
set global event_scheduler=on;
然后再次执行 show processlist; 就行了,结果如下图:
然后你定义的事件也可以顺利执行了。
参考文章:https://blog.csdn.net/qq_27559331/article/details/95757305
以上是关于mysql定义事件并查看事件是否执行的主要内容,如果未能解决你的问题,请参考以下文章