一个项目如果规划不合理,每天会产生很多条告警,导致查询速度变慢。同时由于数据量过大可能会导致磁盘空间不够的情况。一般可以通过程序代码定时清理的方式来进行。
现在可以通过MySql的时间进行定时清理,让数据库自己去清理过期数据。
创建事件
现在解释一下
第一行,表明了这个事件是由alex创建,事件名称为date_clean
第二行,表示这个事件定期执行
第三行,执行周期为每天一次
第四行,事件默认状态为不启动,开发是请写ENABLE或者不写
第五行,表明定期执行的Sql语句,上图语句表示删除删除30天之前的数据
Navicat创建事件
选择事件,点击新建事件
定义中填写需要执行的sql语句
计划页签填写执行周期,或者执行时间
点击保存即可
启动和停止事件
启动 ALTER EVENT `mydatabase`.`alarm_clean` ENABLE;
停止 ALTER EVENT ` mydatabase `.`alarm_clean` ENABLE;
注意
Mysql默认是不开启事件执行的
执行 show variables like 'event_scheduler';
如果是OFF的话则需要执行set global event_scheduler=1;
否则事件将不会被触发。
同时需要修改my.cnf,在[mysqld]下增加event_scheduler=ON,防止重启服务后event_scheduler被重置成OFF。
网友评论文明上网理性发言已有0人参与
发表评论: