• mysql通过事件定时删除过期数据记录方法


    1、  查看MySQL是否开启了事件功能

    查看命令:

    show variables like '%sc%';

    打开event_scheduler(临时开启,MySQL服务重启后时效)

    SET GLOBAL event_scheduler = ON;

    永久开启方法:my.cnf中[mysqld]添加event_scheduler=on #重启服务

    2、  创建事件

    create event myevent on SCHEDULE every 5 second do delete from Syslog.SystemEvents where ReceivedAt<(CURRENT_TIMESTAMP() + INTERVAL -5 DAY);#删除5天前的数据

    说明:

    ReceivedAt:数据库Syslog.Systemevents表中的时间字段

    (date,INTERVAL expr type):

    date:数据库当前时间CURRENT_TIMESTAMP()

    INTERVAL:关键字(间隔)

    expr:具体的时间间隔(-5)

    type:时间单位:

    MICROSECOND

    间隔单位:毫秒

    SECOND

    间隔单位:秒

    MINUTE

    间隔单位:分钟

    HOUR

    间隔单位:小时

    DAY

    间隔单位:天

    WEEK

    间隔单位:星期

    MONTH

    间隔单位:月

    QUARTER

    间隔单位:季度

    YEAR

    间隔单位:年

    SECOND_MICROSECOND

    复合型,间隔单位:秒、毫秒,expr可以用两个值来分别指定秒和毫秒

    MINUTE_MICROSECOND

    复合型,间隔单位:分、毫秒

    MINUTE_SECOND

    复合型,间隔单位:分、秒

    HOUR_MICROSECOND

    复合型,间隔单位:小时、毫秒

    HOUR_SECOND

    复合型,间隔单位:小时、秒

    HOUR_MINUTE

    复合型,间隔单位:小时分

    DAY_MICROSECOND

    复合型,间隔单位:天、毫秒

    DAY_SECOND

    复合型,间隔单位:天、秒

    DAY_MINUTE

    复合型,间隔单位:天、分

    DAY_HOUR

    复合型,间隔单位:天、小时

    YEAR_MONTH

    复合型,间隔单位:年、月

    如果存在事件,请先删除,删除命令:drop event if exists myevent;

    3、  开启事件

    alter event myevent on completion preserve enable;

    4、关闭事件的命令:alter event myevent on completion preserve disable;

  • 相关阅读:
    Elasticsearch 机制 架构 集群 选举
    《Leo the late bloomer》阿虎开窍了
    各行业发明专利排行榜
    接口响应 越来越慢
    知识产权代理 与 工作流
    MBA Business Org Responsbility Account Stock
    心理学 防内耗
    Apache Kafka Zookeeper Quorum
    The different aspect of architecture(架构的不同方面)
    hPaPaas low-code/no-code 低代码
  • 原文地址:https://www.cnblogs.com/wang-yaz/p/12424858.html
Copyright © 2020-2023  润新知