首页 > 数据库 >mysql 创建定时任务清理指定表

mysql 创建定时任务清理指定表

时间:2024-08-14 10:08:24浏览次数:15  
标签:your 清理 event CURRENT mysql DATE 定时 WHERE DAY

一、创建定时任务

1、确保MySQL的事件调度器已经开启。可以通过以下SQL命令检查是否开启:

SHOW VARIABLES LIKE 'event_scheduler';

2、如果返回的值为OFF,则可以通过以下命令开启事件调度器:

SET GLOBAL event_scheduler = ON;

3、以下是一个删除your_table表中7天前数据的示例:

CREATE EVENT IF NOT EXISTS event_cleanup_data
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP
DO
  DELETE FROM your_table WHERE your_date_column < DATE_SUB(CURRENT_DATE, INTERVAL 7 DAY);

4、启动事件

ALTER EVENT event_cleanup_data ON
COMPLETION PRESERVE ENABLE;

确保替换your_tableyour_date_column为你实际的表名和列名。这样,你就设置了一个定期清理数据的任务

 5、查看事件

SHOW EVENTS;

 

 

二、实例一:删除apb项目中系统日志表中指定90天的数据

CREATE EVENT IF NOT EXISTS event_cleanup_abplog
ON SCHEDULE EVERY 1 DAY
STARTS '2024-08-14 23:00:00'
DO 
BEGIN
DELETE FROM abpauditlogs WHERE executiontime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY);
DELETE FROM abpauditlogactions WHERE executiontime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY);
DELETE FROM abpentitychanges WHERE changetime < DATE_SUB(CURRENT_DATE, INTERVAL 90 DAY);
END;

 

标签:your,清理,event,CURRENT,mysql,DATE,定时,WHERE,DAY
From: https://www.cnblogs.com/zhengwei-cq/p/17468220.html

相关文章

  • linux中shell脚本手动执行没有问题,crontab定时执行失败(实测已解决)
    原文链接:https://blog.csdn.net/lukabruce/article/details/93851477问题描述:Shell脚本手动执行可以正常运行,并得到正确结果;使用Crontab定时调度的时候,Shell脚本执行出来的结果数据量为0。原因:Linux下用crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数,所以......
  • 【MySQL】数据库约束和多表查询
    目录1.前言2.数据库约束2.1约束类型2.2 NULL约束2.3NUIQUE:唯一约束2.4 DEFAULT:默认值约束2.5 PRIMARYKEY:主键约束2.6FOREIGNKEY:外键约束1.7 CHECK约束3.表的设计 3.1一对一3.2一对多3.3多对多4.新增5.查询5.1聚合查询5.1.1聚合函数5.1.2 GROUPBY......
  • MySQL- 覆盖索引
    覆盖索引(CoveringIndex)是MySQL中的一种优化技术,它能够显著提高查询性能。在使用覆盖索引的情况下,查询操作只需要访问索引即可获取所需的数据,而不必再访问表的实际数据行(即不需要回表)。这种优化可以减少I/O操作,提升查询效率。1.什么是覆盖索引?覆盖索引是指一个索引包......
  • MySQL- 索引下推
    索引下推(IndexConditionPushdown,简称ICP)是MySQL5.6引入的一项优化技术,它通过将部分查询条件“下推”到索引扫描阶段,从而减少不必要的行访问和回表操作,提高查询性能。1.索引下推的概念在传统的索引扫描过程中,MySQL会首先通过索引找到符合索引条件的记录,然后回表(即......
  • MySQL使用教程笔记(远程访问)
    远程连接MySQL数据库_mysql远程访问数据库-CSDN博客如何远程连接mysql数据库服务器_mysql如何连接远程数据库服务器_如何连接远程数据库mysql-腾讯云开发者社区-腾讯云(tencent.com)如何使用C#连接远程MySQL服务器?_webrtc_weixin_0010034-MySQL数据库(csdn.net)c#中mysq......
  • 最全MySQL面试题和答案(四)
    1.数据库结构优化一个好的数据库设计方案对于数据库的性能往往会起到事半功倍的效果。优化设计需要考虑数据冗余、查询和更新的速度、字段的数据类型是否合理等多方面的因素。将字段很多的表分解成多个表概述:对于字段较多的表,如果有些字段的使用频率很低,可以将这些字段分离出来......
  • MySQL学习[4] ——MySQL锁
    四、MySQL锁4.1MySQL有哪些锁?4.1.1全局锁全局锁就是**对整个数据库实例加锁,主要用于全库逻辑备份**等场景。flushtableswithreadlock#加全局锁unlocktables#解锁加上全局(读)锁后,整个数据库都是只读状态。若数据库的数据较多,导致整个处理流程较慢,数据库......
  • MySQL8.0 Clone Plugin 实现解析浅析
    MySQL8.0ClonePlugin实现解析浅析从8.0.17版本开始官方实现了clone的功能,允许用户通过简单的SQL命令把远端/本地的数据库实例拷贝到其他实例后快速拉起一个新的实例。该功能由一些列的WL组成:Clonelocalreplica(WL#9209):实现了数据本地Clone。Cloneremotereplica......
  • MySQL数据库——数据库的数据类型(一)
    四、数据类型1.数据类型分类分类数据类型说明数值类型BIT(M)位类型。指定位数,默认值1,范围1-64TINYINT[UNSIGNED]带符号的范围-128127,无符号范围0255.默认有符号BOOL使用0和1表示真和假SMALLINT[UNSIGNED]带符号是-2^15次方到2^15-1,无符号是2^16-1IN......
  • 【JAVA_Mysql】JAVA连接Mysql基本步骤
    ......