1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > MySQL定时任务event【MySQL】

MySQL定时任务event【MySQL】

时间:2021-09-26 07:24:10

相关推荐

MySQL定时任务event【MySQL】

数据库|mysql教程

数据库,mysql

数据库-mysql教程

记账本 app源码下载,远程ubuntu登录,tomcat10安装教程,爬虫赋值int,php中数组序列化,宁德市关键词seo优化lzw

MySQL定时任务event

风云无双源码,ubuntu连接宽带连接,爬虫抓取瓜子网,php fastblur,seo a title=lzw

由于一些业务需求,我们可能需要定时清除数据库一些废弃的数据,可以使用mysql的存储过程和事件来完成。

个人官网源码,vscode发布视频,ubuntu ~,tomcat做缓存,sqlite time_t,html 播放插件,h ui前端框架下载,爬爬虫的手工教案,php 字符串 处理,潍坊seo价格,第一步 仿制首页之保存网站,java网页数据采集,公众号信息界面模板下载lzw

下面例子定时清除日志表log中指定天数前的数据

1、创建日志表log

CREATE TABLE IF NOT EXISTS `log` ( `log_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 记录id, `user_id` int(11) DEFAULT NULL COMMENT 用户id, `op` varchar(128) NOT NULL COMMENT 操作类型, `model` varchar(32) DEFAULT NULL COMMENT 操作模块, `activity_time` int(10) NOT NULL DEFAULT COMMENT 操作时间, `data` text COMMENT 数据, PRIMARY KEY (`log_id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=用户日志表 AUTO_INCREMENT=1 ;

2、创建事件e_del_logs

CREATE EVENT `e_del_logs` ON SCHEDULE EVERY 1 DAY STARTS -07-30 17:33:43 ON COMPLETION NOT PRESERVE ENABLE DO call p_del_logs(90);

//上面代码表示从-07-30 17:33:43起每一天执行一次p_del_logs这个存储过程,并带上参数

3、建立存储过程

p_del_logsDELIMITER $$---- 存储过程--CREATE PROCEDURE `p_del_logs`(IN `date_inter` int)BEGIN delete from log where (to_days(now()) - to_days(FROM_UNIXTIME(activity_time)))>=date_inter;END$$DELIMITER ;

//按事件传过来的参数90,删除操作时间90天之前的数据

这样mysql就会定制每天去执行这个任务了。

查看当前是否已开启事件计划(调度器)有3种方法:

1)SHOW VARIABLES LIKE event_scheduler;2)SELECT @@event_scheduler;3)SHOW PROCESSLIST;

(二) 开启事件计划(调度器)开关有4种方法:

1)SET GLOBAL event_scheduler = 1;2)SET @@global.event_scheduler = 1;3)SET GLOBAL event_scheduler = ON;4)SET @@global.event_scheduler = ON;

键值1或者ON表示开启;0或者OFF表示关闭;

(三) 事件开启与关闭:

开启某事件:ALTER EVENT e_del_logs ON COMPLETION PRESERVE ENABLE;关闭某事件:ALTER EVENT e_del_logs ON COMPLETION PRESERVE DISABLE;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。