Mysql定时删除表数据

由于用户环境有张日志表每天程序都在狂插数据,导致不到一个月时间,这张日志表就高达200多万条记录,但是日志刷新较快,里面很多日志没什么作用,就写了个定时器,定期删除这张表的数据。

  1. 首先查看mysql是否开启定时任务开关
    SHOW VARIABLES LIKE 'event_scheduler';
    Value为ON则已打开,OFF则关闭

    如果是OFF,就先打开:SET GLOBAL event_scheduler = ON;

然后创建我们想要的定时器及删除存储过程

c 复制代码
delimiter $$  
drop event if exists delplan;  
create event delplan
on schedule   
EVERY 1 DAY  
 STARTS '2019-07-02 00:00:00'  
ON COMPLETION  PRESERVE ENABLE  
do  
begin  
  delete from sys_prepose_sync_record where Sync_Time<(CURRENT_TIMESTAMP()-INTERVAL 497 HOUR);  
end $$  
delimiter;

最后把上面的语句在数据库执行一遍,大功告成,可以删除Sync_Time在497小时之前的数据了。

如果不想用该定时器了的话,可以直接在数据库事件中将状态更改为ENable即可。

使用navicat连接的数据库->事件->找到对应的事件修改

如果想要调整定时器执行时间间隔,可以直接在事件中修改

相关推荐
会编程的土豆3 小时前
功能详解 01 · 用户注册:从表单到数据库一行
开发语言·数据库·后端·mysql·golang
Sirens.15 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql
Oo大司命oO18 小时前
藏在正则表达式里的陷阱
数据库·mysql·正则表达式
三十岁老牛再出发1 天前
07.26每日总结
linux·c语言·mysql
xieliyu.1 天前
MySQL 存储过程详解:概念、创建与删除全教程
开发语言·数据库·mysql
ttwuai1 天前
AI 生成后台删除按钮后,MySQL 软删除和唯一索引怎么验
数据库·mysql·golang
想你依然心痛1 天前
用MySQL玩转数据可视化:从SQL查询到动态图表的完整实战
sql·mysql·信息可视化
Mico181 天前
MySQL 8.0.35 主从延迟模拟与解决
mysql
不知疲倦的仄仄1 天前
MySQL/Read View快照/MVCC/串行化
java·数据库·mysql
Mico181 天前
MySQL 5.7.35 升级到 8.0.35 — 原地升级(主从架构方式)
mysql