×

数据库操作指南:MySql定时清理某个时间之前的数据

作者:andy0012019.11.22来源:Web前端之家浏览:25517评论:0
关键词:jsmysql

1.jpg

一个项目如果规划不合理,每天会产生很多条告警,导致查询速度变慢。同时由于数据量过大可能会导致磁盘空间不够的情况。一般可以通过程序代码定时清理的方式来进行。

现在可以通过MySql的时间进行定时清理,让数据库自己去清理过期数据。

创建事件

2.png

现在解释一下

第一行,表明了这个事件是由alex创建,事件名称为date_clean

第二行,表示这个事件定期执行

第三行,执行周期为每天一次

第四行,事件默认状态为不启动,开发是请写ENABLE或者不写

第五行,表明定期执行的Sql语句,上图语句表示删除删除30天之前的数据

Navicat创建事件

选择事件,点击新建事件

1.png

定义中填写需要执行的sql语句

2.png

计划页签填写执行周期,或者执行时间

3.png

点击保存即可

启动和停止事件

启动 ALTER EVENT `mydatabase`.`alarm_clean` ENABLE;

停止 ALTER EVENT ` mydatabase `.`alarm_clean` ENABLE;

注意

Mysql默认是不开启事件执行的

执行 show variables like 'event_scheduler';

4.png

如果是OFF的话则需要执行set global event_scheduler=1;

否则事件将不会被触发。

同时需要修改my.cnf,在[mysqld]下增加event_scheduler=ON,防止重启服务后event_scheduler被重置成OFF。

您的支持是我们创作的动力!
温馨提示:本文作者系,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/2384238490809808.html

网友评论文明上网理性发言已有0人参与

发表评论: