MySQL定时任务EVENT事件的使用方法

 更新时间:2023年05月24日 10:58:26   作者:风行無痕  
本文主要介绍了MySQL定时任务EVENT事件的使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、查看定时策略是否开启

show variables like '%event_scheduler%';

 * on这里是启用的

查看进程:会看到一个用户为event_scheduler,执行状态为Waiting on empty queue的进程

show PROCESSLIST;

开启定时策略:

set global event_scheduler = 1;

关闭定时策略:

set global event_scheduler = 0;

在my.cnf配置文件中开启事件(永久开启,设置后需要重启MySQL才会生效)

配置文件的[mysqld]部分加上event_scheduler=ON 

二、创建定时任务

-- 创建定时任务
create EVENT sync_lastday_attendance
ON SCHEDULE
EVERY '1' DAY STARTS '2021-09-19 05:00:00'
DO call sync_lastday_attendance()

解释:

1、create event sync_lastday_attendance:是创建名为sync_lastday_attendance的事件
2、EVERY '1' DAY 创建周期定时的规则,意思是每天执行一次
3、STARTS '2021-09-19 05:00:00'表示在具体某个时间执行,是2021-09-19凌晨5点整开始执行
3、可选 on completion preserve disable是表示创建后并不开始生效。
4、do call sync_lastday_attendance()是该event(事件)的操作内容,这里是调用名为sync_lastday_attendance()的存储过程

 三、定时任务操作

查看所有定时任务

SELECT event_name,event_definition,interval_value,interval_field,status FROM information_schema.EVENTS;

 查看指定定时任务创建详细

show create EVENT sync_lastday_attendance;

修改任务

-- 创建定时任务 8点执行 调用test()存储过程
ALTER EVENT sync_lastday_attendance
ON SCHEDULE
EVERY '1' DAY STARTS '2021-09-19 08:00:00'
DO call test()

开启定时任务

alter event sync_lastday_attendance on completion preserve enable;//开启定时任务

 关闭定时任务

alter event sync_lastday_attendance on completion preserve disable;//关闭定时任务

删除定时任务

drop event sync_lastday_attendance; //删除定时任务

四、定时规则

1、周期执行(EVERY)

参数单位有:second、minute、hour、day、week(周)、quarter(季度)、month、year

on schedule every 1 week //每周执行1次
on schedule every 1 day //每天执行1次

2、在具体某个时间执行(AT)

on schedule at current_timestamp()+interval 5 day //5天后执行
on schedule at '2021-09-19 05:00:00' //在2021年9月19日,5点整执行

3、在某个时间段执行(STARTS ENDS)

on schedule every 1 day starts current_timestamp()+interval 3 day ends current_timestamp()+interval 1 month 
//3天后开始每天都执行一次到下个月底结束
on schedule every 1 day ends current_timestamp()+interval 3 day 
//从现在起每天执行,执行3天

到此这篇关于MySQL定时任务EVENT事件的使用方法的文章就介绍到这了,更多相关MySQL定时任务EVENT事件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 一次docker登录mysql报错问题的实战记录

    一次docker登录mysql报错问题的实战记录

    这篇文章主要给大家介绍了一次docker登录mysql报错问题的实战记录,文中通过实例代码介绍的非常详细,对大家学习或者使用docker具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • sql ROW_NUMBER()与OVER()方法案例详解

    sql ROW_NUMBER()与OVER()方法案例详解

    这篇文章主要介绍了sql ROW_NUMBER()与OVER()方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • mysql 行转列和列转行实例详解

    mysql 行转列和列转行实例详解

    这篇文章主要介绍了mysql 行转列和列转行实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • MySQL主从延迟全链路根因诊断与解决方法

    MySQL主从延迟全链路根因诊断与解决方法

    本文介绍了MySQL主从复制延迟的诊断与优化方法,从复制原理出发,分析了主从延迟的四大根因:硬件资源不对等、大事务与长事务、锁冲突和网络抖动,并提供了详细的诊断步骤和优化建议,包括开启并行复制、治理大事务和DDL操作、缓存解耦等,需要的朋友可以参考下
    2026-04-04
  • MySQL中根据binlog日志进行恢复的实现

    MySQL中根据binlog日志进行恢复的实现

    MySQL的binlog功能为数据库的恢复和故障排查提供了有力支持,本文主要介绍了MySQL中根据binlog日志进行恢复的实现,具有一定的参考价值,感兴趣的可以了解一下
    2025-04-04
  • MySQL修改默认字符集编码的方法

    MySQL修改默认字符集编码的方法

    这篇文章主要介绍了MySQL修改默认字符集编码的方法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-09-09
  • mysql记录根据日期字段倒序输出

    mysql记录根据日期字段倒序输出

    这篇文章主要介绍了mysql记录根据日期字段倒序输出 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • MySQL限制查询和数据排序介绍

    MySQL限制查询和数据排序介绍

    这篇文章主要介绍了MySQL限制查询和数据排序介绍,通过limit可以限制返回结果的行数,而当数据查询出来以后,我们可以对数据进行排序处理。在末尾使用order by语句,下文相关详细介绍,需要的小伙伴可以参考一下
    2022-03-03
  • MySQL性能优化之分区表的使用详解

    MySQL性能优化之分区表的使用详解

    在当今数据驱动的时代,大型数据库的性能优化对于企业的成功至关重要,本文将深入探讨MySQL分区表的基础知识、性能优势、分区策略的选择和实施等内容,感兴趣的小伙伴可以了解一下
    2023-06-06
  • MySQL命令行下如何执行.sql脚本

    MySQL命令行下如何执行.sql脚本

    这篇文章主要介绍了MySQL命令行下如何执行.sql脚本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12

最新评论