navicat创建MySql定时任务的方法详解

 更新时间:2020年10月28日 09:30:48   作者:姚鑫国  
这篇文章主要介绍了navicat创建MySql定时任务的方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

navicat创建MySql 定时任务详解

事件(event)是MySQL在相应的时刻调用的过程式数据库对象。一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的,也就是所谓的“事件调度器”。事件和触发器类似,都是在某些事情发生的时候启动。当数据库上启动一条语句的时候,触发器就启动了,而事件是根据调度事件来启动的。由于他们彼此相似,所以事件也称为临时性触发器。事件取代了原先只能由操作系统的计划任务来执行的工作,而且MySQL的事件调度器可以精确到每秒钟执行一个任务,而操作系统的计划任务(如:Linux下的CRON或Windows下的任务计划)只能精确到每分钟执行一次。

一、开起定时任务

1、定时任务是默认关闭的,Value值为ON时就是开起状态;

SHOW VARIABLES LIKE '%event_sche%';

在这里插入图片描述

2、开起定时任务

SET GLOBAL event_scheduler = 1;

3、关闭定时任务

SET GLOBAL event_scheduler = 0;

如果需要长期开起定时任务需要在my.ini中配置 event_scheduler = on

二、通过navicat创建定时任务

1、找到事件新建一个事件

在这里插入图片描述

2、定义是填写需要运行的sql或者事件、储存过程。
3、计划是这个定时任务的运行规则。
计划中有两种事件 AT和EVERY,EVERY又称“事件调度器”,一个事件可调用一次,也可周期性的启动,它由一个特定的线程来管理的。

在这里插入图片描述

这里设置的就是从2020-08-06 12:00:00 开始每1天执行一次。
点击预览sql可以查看创建定时任务。

在这里插入图片描述

4、这里跟大家准备了很多列子理解这个设置。

1. 在创建事件myevent1小时后执行,执行一条更新

CREATE EVENT myevent
  ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR
DO
 UPDATE myschema.mytable SET mycol = mycol + 1;

2.2014年3月20日12点整清空test表:

CREATE EVENT e_test
  ON SCHEDULE AT TIMESTAMP '2014-03-20 12:00:00'
  DO TRUNCATE TABLE test.aaa;

3.5天后开启每天定时清空test表:

CREATE EVENT e_test
  ON SCHEDULE EVERY 1 DAY
  STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
  DO TRUNCATE TABLE test.aaa;

4.每天定时清空test表,5天后停止执行

CREATE EVENT e_test
  ON SCHEDULE EVERY 1 DAY
  ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY
  DO TRUNCATE TABLE test.aaa;

5.5天后开启每天定时清空test表,一个月后停止执行:

CREATE EVENT e_test
  ON SCHEDULE EVERY 1 DAY
  STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY
  ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH
  DO TRUNCATE TABLE test.aaa;

6.每天定时清空test表(只执行一次,任务完成后就终止该事件):

CREATE EVENT e_test
  ON SCHEDULE EVERY 1 DAY
  ON COMPLETION NOT PRESERVE
  DO TRUNCATE TABLE test.aaa;

[ON COMPLETION [NOT] PRESERVE]可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。

三、关闭、启动、别名、移动、删除event

修改定时任务ALTER,修改和创建唯一不一样的是第一个单词创建是CREATE,修改为 ALTER。

ALTER EVENT myevent 
... 具体修改内容

临时关闭某个event

ALTER EVENT myevent DISABLE;

开启某个event

ALTER EVENT myevent ENABLE;

别名某个event

ALTER EVENT olddb.myevent
RENAME TO newdb.myevent;

将myevent从olddb库移动到newdb库

ALTER EVENT olddb.myevent
RENAME TO newdb.myevent;

删除event

DROP EVENT [IF EXISTS] event_name

四、查询Event信息

Event信息相关表

information_schema.events
mysql.event

查看事件的创建信息

show create event countsum \G

查看sem库的events信息

USE sem;
SHOW EVENTS \G

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

相关文章

  • 查找MySQL线程中死锁的ID的方法

    查找MySQL线程中死锁的ID的方法

    这篇文章主要介绍了查找MySQL线程中死锁的ID的方法,文中介绍的方法主要是从数据字典里查找,需要的朋友可以参考下
    2015-05-05
  • rpm -ivh方式安装mysql并修改数据存储位置的实现

    rpm -ivh方式安装mysql并修改数据存储位置的实现

    在Linux环境下进行MySQL的安装可以使用不同的方式,但在本文中我们将关注一种特定的方式,即通过RPM包的方式进行安装,本文主要介绍了rpm -ivh方式安装mysql并修改数据存储位置的实现,感兴趣的可以了解一下
    2023-09-09
  • SQL CREATE INDEX提高数据库检索效率的关键步骤详解

    SQL CREATE INDEX提高数据库检索效率的关键步骤详解

    这篇文章主要为大家介绍了SQL CREATE INDEX提高数据库检索效率的关键步骤详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • MySql如何查看数据库变量信息常用脚本

    MySql如何查看数据库变量信息常用脚本

    这篇文章主要介绍了MySql如何查看数据库变量信息常用脚本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-04-04
  • MYSQL函数的使用梳理

    MYSQL函数的使用梳理

    本篇文章讲解是是MySQL的函数方法,涵盖所有的MySQL常见的方法,MySQL函数,是一种控制流程函数,属于数据库用语言,以下列出了这些函数的说明
    2022-05-05
  • mysql 循环批量插入的实例代码详解

    mysql 循环批量插入的实例代码详解

    本文通过实例代码文字相结合的形式给大家介绍了mysql 循环批量插入功能,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-05-05
  • Linux下自动备份MySQL的方法

    Linux下自动备份MySQL的方法

    这篇文章主要介绍了Linux下自动备份MySQL的方法,需要的朋友可以参考下
    2015-01-01
  • 解决MySQL 5.7中定位DDL被阻塞的问题

    解决MySQL 5.7中定位DDL被阻塞的问题

    这篇文章主要介绍了MySQL 5.7中如何定位DDL被阻塞的问题,在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metadata_locks,该表可对外展示MDL的相关信息,包括其作用对象,类型及持有等待情况。对此问题感兴趣的朋友参考下本文
    2018-08-08
  • 一文带你了解MySQL中的锁机制

    一文带你了解MySQL中的锁机制

    锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。本文就来通过几个简单的实力为大家详细讲讲MySQL中的锁机制吧
    2023-02-02
  • DBeaver连接MySQL的超详细步骤

    DBeaver连接MySQL的超详细步骤

    DBeaver是免费、开源、通用数据库工具,是许多开发开发人员和数据库管理员的所选,下面这篇文章主要给大家介绍了关于DBeaver连接MySQL的超详细步骤,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05

最新评论