MySQL创建定时任务实例(每天凌晨1点、每小时、每分钟、某一时间点)
常用的一定要写在前面
# 从2019-10-11开始,每天的00:30:00执行定时任务 ON SCHEDULE EVERY 1 DAY STARTS '2019-10-11 00:30:00' # 每天的凌晨1点执行定时任务 ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR) # 特定的日期特定的时间点执行定时任务 ON SCHEDULE at '2019-10-10 19:14:10' # 每五分钟执行一次定时任务 ON SCHEDULE EVERY 5 MINUTE STARTS CURDATE() # 每小时执行一次定时任务 ON SCHEDULE EVERY 1 HOUR STARTS CURDATE()
下面开始进入正文!!!
就像增删改查需要权限一样,建立定时任务也需要权限!
一、查看定时策略是否开启
show variables like '%event_sche%';
如果显示为
ON:表示已开启,下面这些就不用做了,直接进入【二、创建定时任务】
OFF:表示没有开启!
set global event_scheduler=1;-- 开启定时
执行完这一句,如果显示access denied;
表示你没有开启定时任务的权限,联系运维给你开通权限,或者让他执行一下上面这个语句。
执行完之后再执行一下show variables like '%event_sche%';确保已开启。
二、创建定时任务
以下语句也是在新建查询窗口运行
方法1:直接创建定时任务事件
DELIMITER // CREATE EVENT test_event on schedule at '2019-10-10 19:27:10' #规定在这个时间点执行下面的语句 DO BEGIN DROP TABLE IF EXISTS test_ee; /************************************************************************/ CREATE table test_ee AS SELECT NOW() ; END; //
方法2:先创建存储过程,再定义执行周期
-- 创建存储过程test CREATE PROCEDURE test_d2 () BEGIN DROP TABLE IF EXISTS test_ddd; /*************************************/ CREATE table test_ddd AS SELECT NOW() ; END; CREATE EVENT IF NOT EXISTS temp_event on schedule at '2019-10-10 19:14:10' ON COMPLETION PRESERVE -- ENABLE do call test_d2();
总结
到此这篇关于MySQL创建定时任务(每天凌晨1点、每小时、每分钟、某一时间点)的文章就介绍到这了,更多相关MySQL定时任务每天凌晨内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
MySQL Semisynchronous Replication介绍
这篇文章主要介绍了MySQL Semisynchronous Replication介绍,本文讲解了Semisynchronous Replication 定义、,需要的朋友可以参考下2015-05-05如何解决MySQL5升级为MySQL8遇到的问题my.ini
这篇文章主要介绍了如何解决MySQL5升级为MySQL8遇到的问题my.ini,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-12-12
最新评论