admin管理员组

文章数量:1538980

设置MySQL

SHOW VARIABLES LIKE 'event_scheduler'; # 查看开关

SET GLOBAL event_scheduler = ON; #打开事件调度器

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

查看事件

SHOW EVENTS;  # 其中 EVENT_DEFINITION字段为事件执行的sql语句
select EVENT_NAME,LAST_EXECUTED from information_schema.EVENTS;
DROP EVENT [IF EXISTS] event_name;   #删除事件

每天定时清理 只保留最近30天数据table_name表

CREATE EVENT IF NOT EXISTS table_name ON SCHEDULE EVERY 1 DAY 
STARTS concat(CURRENT_DATE,' 00:00:00') 
DO
delete from table_name where timestamp < DATE_FORMAT( date_sub(curdate(),interval 30 day)  ,'%Y-%m-%d');

三个表格设置不同的事件启动

CREATE EVENT IF NOT EXISTS repoissue_event ON SCHEDULE EVERY 1 DAY STARTS CONCAT(CURRENT_DATE, ' 22:20:00') DO DELETE FROM repoissue where timecheck < DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 30 DAY),'%Y%m%d');


CREATE EVENT IF NOT EXISTS langrepo_event ON SCHEDULE EVERY 1 DAY STARTS CONCAT(CURRENT_DATE, ' 22:50:00') DO DELETE FROM langrepo where timecheck < DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 30 DAY),'%Y%m%d');


CREATE EVENT IF NOT EXISTS lang_trend_weekly_event ON SCHEDULE EVERY 1 DAY STARTS CONCAT(CURRENT_DATE, ' 23:30:00') DO DELETE FROM language_trend_weekly where timecheck < DATE_FORMAT(DATE_SUB(CURDATE(), INTERVAL 30 DAY),'%Y-%m-%d');

本文标签: 数据mysql