MySQL定时任务不能正常执行的原因分析及解决方法

 更新时间:2021年12月22日 14:12:50   作者:无刃之剑  
大家好,本篇文章主要讲的是MySQL定时任务不能正常执行的原因分析及解决方法,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览

前言

在使用数据库定时任务时,常常会出现定时任务不执行的问题,现对该问题出现的原因及解决方案做一些分析和整理。

原因分析及解决方法

当我们发现MySQL的定时任务没有执行时,首先去定时任务中查看【上次运行】时间是否正确,判断其是否正常执行,如果正常执行则需要考虑是否是事件逻辑不正确。

查看上次运行时间

如果上次运行时间为空或者不正确,则需要查看数据库是否打开了定时任务,通过执行下列查询语句进行查询

show VARIABLES like ‘%event_schedule%'

如果结果为ON则说明数据库打开了定时任务,为OFF则没有打开。

正确结果

如果查询结果为OFF,有两种解决方法:

1.直接在数据库中设置

SET GLOBAL event_scheduler = ON;

该方法可以立即生效,但是在数据库重启后会失效

2.在数据库配置文件中进行修改

在my.ini的[mysqld]模块中添加如下代码:
event_scheduler=ON
该方法需要重启数据库才能生效,不会随数据库重启而失效

启动了数据库的定时任务后,还需要查看你自己的定时任务是否可执行,在数据库中执行如下查询语句:
show events
查看查询结果中的Status是否正确,结果为ENABLE代表已启动。

Status需要为ENABLE

如果状态不为ENABLE,我们需要在定时任务的状态栏将其修改为ENABLE。

修改定时任务状态为ENABLE

让定时任务快速执行

有些定时任务是每天或更久才执行一次,如果想要时间自然流动去测试会比较麻烦,这个时候,我们就需要根据计划修改数据库服务器的时间,这样就能快速测试这个定时任务是否能够正常执行了。

总结

到此这篇关于MySQL定时任务不能正常执行的原因分析及解决方法的文章就介绍到这了,更多相关MySQL定时任务内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解MySQL主从复制实战 - 基于GTID的复制

    详解MySQL主从复制实战 - 基于GTID的复制

    本篇文章主要介绍了MySQL主从复制实战 - 基于GTID的复制,基于GTID的复制是MySQL 5.6后新增的复制方式.有兴趣的可以了解一下。
    2017-03-03
  • mysql 获取时间方式

    mysql 获取时间方式

    这篇文章主要介绍了mysql 获取时间方式,获取指定时间,获取当前时间等相关内容,需要的朋友可以参考一下,希望对你有所帮助
    2022-03-03
  • mysql创建用户并赋予用户权限详细操作教程

    mysql创建用户并赋予用户权限详细操作教程

    这篇文章主要给大家介绍了关于mysql创建用户并赋予用户权限详细操作的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • MySQL将多条数据合并成一条的完整示例

    MySQL将多条数据合并成一条的完整示例

    我们在使用mysql的时候常会遇到合并的需求,下面这篇文章主要给大家介绍了关于MySQL将多条数据合并成一条的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • 远程访问MySQL数据库的方法小结

    远程访问MySQL数据库的方法小结

    MySQL数据库不允许从远程访问如何办?本文提供了 3种解决思路方法
    2009-12-12
  • MySQL主从复制原理解析与最佳实践过程

    MySQL主从复制原理解析与最佳实践过程

    这篇文章主要介绍了MySQL主从复制原理解析与最佳实践过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 三种东西永远不要放到mysql数据库里

    三种东西永远不要放到mysql数据库里

    这篇文章主要介绍了mysql数据库不能存储的三样东西,需要的朋友可以参考下
    2014-06-06
  • 详解MySQL 8.0 之不可见索引

    详解MySQL 8.0 之不可见索引

    这篇文章主要介绍了MySQL 8.0 之不可见索引的相关资料,帮助大家更好的理解和学习新版本的MySQL,感兴趣的朋友可以了解下
    2020-10-10
  • MySql子查询IN的执行和优化的实现

    MySql子查询IN的执行和优化的实现

    本文主要介绍了MySql子查询IN的执行和优化的实现,详细的介绍了为什么IN这么慢以及如何优化,具有一定的参考价值,感兴趣的可以了解一下
    2021-07-07
  • MySQL中DML添加数据insert的操作方法

    MySQL中DML添加数据insert的操作方法

    DML英文全称Data Manipulation Language数据操作语言,用来对数据库中表的数据记录进行增、删、改在实际开发过程中使用比较多,务必掌握操作,这篇文章主要介绍了MySQL中DML添加数据insert的操作方法,需要的朋友可以参考下
    2023-07-07

最新评论