首页 > 软件开发 > MYSQL >

mysql如何设置定时任务

来源:互联网 2023-03-16 22:57:00 版权归原作者所有,如有侵权,请联系我们

用一个小例子介绍mysql如何设置定时任务。Bhe办公区 - 实用经验教程分享!

工具/原料

  • mysql 5.7.18
  • Win10

方法/步骤

  • 1

    打开Power Shell(或cmd),进入mysql后,先使用命令Bhe办公区 - 实用经验教程分享!

    show variables like "%event_sche%";Bhe办公区 - 实用经验教程分享!

    查看是否有开启event_scheduler,如图我是关闭的。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 2

    如果是关闭的,使用命令Bhe办公区 - 实用经验教程分享!

    set global event_scheduler=1;Bhe办公区 - 实用经验教程分享!

    打开event_scheduler,打开后再次查看,结果如图。Bhe办公区 - 实用经验教程分享!

    如果想关闭event_scheduler,则命令为Bhe办公区 - 实用经验教程分享!

    set global event_scheduler=0;Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 3

    接着选择一个数据库,然后创建表sche_task来演示设置定时任务。Bhe办公区 - 实用经验教程分享!

    创建表的sql语句及表的结构如图。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 4

    接下来创建一个函数作为定时任务,该函数是向sche_task表中插入一条数据。Bhe办公区 - 实用经验教程分享!

    创建函数的sql语句如图。注意要用delimiter来限定结束符。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 5

    接着先使用命令Bhe办公区 - 实用经验教程分享!

    show events GBhe办公区 - 实用经验教程分享!

    查看已有的事件,如图,我是没有创建过事件的。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 6

    查完后,定义一个事件,该事件每过10s调用一次函数fun_insert_task,即每过10s向sche_task中插入一条数据。创建事件的sql语句如图。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 7

    事件创建成功后,再次查看所有事件,可以看到,所有事件中多了刚刚创建的事件,并处于使用状态。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 8

    查看表sche_task中的数据,如图可以看到,从定时任务开启起,每过10s插入一条数据,说明定时任务设置成功。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 9

    如果想停止定时任务,可以使用命令(以停止insert_task为例)Bhe办公区 - 实用经验教程分享!

    alter event insert_task on completion preserve disable;Bhe办公区 - 实用经验教程分享!

    停止后查看事件,如图。Bhe办公区 - 实用经验教程分享!

    另外,开启事件的命令为(以开启insert_task为例)Bhe办公区 - 实用经验教程分享!

    alter event insert_task on completion preserve enable;Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 10

    停止定时任务后,再次查看表sche_task中的数据,如图可以看到,表数据不再增加。Bhe办公区 - 实用经验教程分享!

    mysql如何设置定时任务Bhe办公区 - 实用经验教程分享!

  • 11

    例子到这里就结束了,最后总结一下。Bhe办公区 - 实用经验教程分享!

    定时任务是通过设置事件来完成的(event是在mysql 5.1以上的版本才有),Bhe办公区 - 实用经验教程分享!

    使用事件前要先看有没开启event_scheduler,命令为Bhe办公区 - 实用经验教程分享!

    show variables like '%event_sche%';Bhe办公区 - 实用经验教程分享!

    开启event_scheduler的命令为Bhe办公区 - 实用经验教程分享!

    set global event_scheduler = 1;Bhe办公区 - 实用经验教程分享!

    关闭event_scheduler的命令为Bhe办公区 - 实用经验教程分享!

    set global event_scheduler = 0;Bhe办公区 - 实用经验教程分享!

    查看所有事件的命令为Bhe办公区 - 实用经验教程分享!

    show events G (G 带有格式化的效果,输出结果会好看些)Bhe办公区 - 实用经验教程分享!

    关闭事件的命令为Bhe办公区 - 实用经验教程分享!

    alter event 事件名 on completion preserve disable;Bhe办公区 - 实用经验教程分享!

    开启事件的命令为Bhe办公区 - 实用经验教程分享!

    alter event 事件名 on completion preserve enable;Bhe办公区 - 实用经验教程分享!

    删除事件的命令为Bhe办公区 - 实用经验教程分享!

    drop event事件名;Bhe办公区 - 实用经验教程分享!

  • 11该信息非法爬取自百度经验
  • 以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!Bhe办公区 - 实用经验教程分享!


    标签: MYSQL

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号