mysql定时任务event——清理过期数据

摘要:
接收传入参数30并执行删除数据操作,删除大于30天的数据。

需要删除数据的表名:t_req_log

建表sql

CREATE TABLE`t_req_log` (
`id` bigint(20) NOT NULLAUTO_INCREMENT,
`host` varchar(200) DEFAULT NULL,
`time` datetime DEFAULT NULL,
PRIMARY KEY(`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

1.查询是否开启事件调度

SHOW VARIABLES LIKE 'event_scheduler';

2.开启事件调度

临时:
SET GLOBAL event_scheduler = 1;

永久:
vim /etc/my.cnf
event_scheduler=ON

3.创建p_del_count存储过程。
接收传入参数30并执行删除数据操作,删除大于30天的数据。

drop procedure if existsp_del_count; 
create procedure p_del_count(IN `date_inter` INT)  
BEGIN  
delete from t_req_log where (TO_DAYS(NOW()) - TO_DAYS(FROM_UNIXTIME(unix_timestamp(time),'%Y%m%d'))) >=date_inter;  
END;

4.创建定时任务
从2018-05-15 00:00:00起每一天执行一次p_del_count这个存储过程,并将参数传给
p_del_count存储过程

drop event if existse_del_t_req_log;
createevent e_del_t_req_log 
on schedule every 1 day starts '2018-05-15 00:00:00' 
on completion not preserve enable do call p_del_count (30);

5.查看已有定时事件任务
SHOW EVENTS;

6.事件的开启与关闭
开启某事件:ALTER EVENT e_del_t_req_log ON COMPLETION PRESERVE ENABLE;
关闭某事件:ALTER EVENT e_del_t_req_log ON COMPLETION PRESERVE DISABLE;

免责声明:文章转载自《mysql定时任务event——清理过期数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Sublime Text 3 LESS、SASS、SCSS高亮插件、提示插件Error Codes in Windows下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

es在win下添加数据(二)

win环境下把MySql中的数据导入到Elasticsearch(二) 环境问题参考我上文: https://blog.csdn.net/qq_24265945/article/details/81168158 环境问题已经好了,接下来,我们讲实战。 下载:mysql-connector-java-5.1.46.zip该压缩包帮助mysql与其他平台...

mysql--统计每个用户的累计访问次数

create table action(userId VARCHAR(10),visitDate VARCHAR(10),visitCount int ); insert into action values('u01','2017/1/21',5),('u02','2017/1/23',6),('u03','2017/1/22',8),('u04','2...

Sqlmap注入技巧收集整理

TIP1 当我们注射的时候,判断注入 http://site/script?id=10http://site/script?id=11-1 # 相当于 id=10http://site/script?id=(select 10) # 相当于 id=10 http://site/script?id=10 and 1=1 #失败 通过判断可发现and和or被过...

内网服务器离线编译安装mysql5.7并调优

目录 一.前言 二.关于MySQL 三.MySQL安装篇 3.1 部署环境 3.2 前期准备工具 3.3 挂载系统ISO镜像,配置yum源 3.4 安装mysql编译所需的依赖包 3.5 源码编译安装mysql5.7 3.6 配置mysql 四.MySQL调优篇 4.1 对MySQL进行安全设置 4.2 设置MySQL超时时间 4.3 MyS...

Mac安装PHP运行环境

先安装brew ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" nginx的安装与配置 brew install nginx 修改配置文件 sudo vim /usr/local/etc/nginx/nginx.conf #修...

mysql批量更新

一般的update user set num = new_num where id = ('需更新的记录') ,这种一条条更新多条数据时会很慢,而采用下面的sql语句可以快速实现一条语句多条更新; UPDATE user SET name = CASE id WHEN 1 THEN new_num WHEN 2 THEN old_num + 10 WHEN...