数据库定时清理表数据

数据库怎么定时清理表中数据呢

当我们有一些业务日志等 需要过一个月 或者过多久定时清理一次 怎么弄呢??

首先呢 先要数据库管理员先开启 如下命令: 查看以及开启

SHOW VARIABLES LIKE '%event_scheduler%'; -- 查看定时器状态 
SET GLOBAL event_scheduler = ON;  -- 将MySQL定时器设为开启状态
SET GLOBAL event_scheduler = 0;  -- 将MySQL定时器设为开启状态
CREATE EVENT my_event1  -- 这个就是你创建定时的名称
    ON SCHEDULE
        EVERY 1 MONTH   -- 这里呢 你可以自己选择 年 月 或者 日 按照你的需求去 这里是弄了一个月
            -- 这里是 到2032年结束 就不清理了 一个开始一个结束
            STARTS STR_TO_DATE('2022-01-17 19:35:00','%Y-%m-%d %H:%i:%s') 
            ENDS STR_TO_DATE('2032-01-21 19:38:00','%Y-%m-%d %H:%i:%s')
    DO BEGIN
    TRUNCATE TABLE uts_user_login_log; -- uts_user_login_log 这个呢 就是你需要创建定时清理所需的表
END; 

drop EVENT my_event1; -- 删除定时

SHOW EVENTS;  -- 查询 
select * from mysql.my_event1; -- 查询定时

你可能感兴趣的:(数据库,mysql)