如何用mysql自带的定时器定时执行sql(每天0点执行与间隔分/时执行)

使用MySQL自带的定时器可以很方便地实现SQL语句的定时执行,无需使用第三方定时任务软件,下面是详细的攻略:

1. 启用定时器

要使用MySQL自带的定时器,需要先启用定时器功能。在MySQL的配置文件my.cnf中,打开以下配置:

[mysqld]
event_scheduler = ON

重启MySQL服务,或者执行以下语句,使配置修改生效:

SET GLOBAL event_scheduler = ON;

2. 创建定时器

MySQL定时器使用EVENT来表示,可以通过CREATE EVENT语句创建自己的定时器。以下是CREATE EVENT语句的语法:

CREATE EVENT event_name ON SCHEDULE schedule
    DO sql_statement;

其中,event_name是事件名称,schedule是事件调度,sql_statement是要执行的SQL语句。

3. 设置事件调度

事件调度需要设置在SCHEDULE关键字之后,可以使用以下参数:

  • EVERY n [HOUR|MINUTE|SECOND]:表示每隔n小时/分钟/秒执行一次;
  • INTERVAL n [HOUR|MINUTE|SECOND]:表示每隔n小时/分钟/秒执行一次;
  • AT TIME 'hh:mm:ss':表示在每天的某个时间点执行。

以下是一些示例:

  1. 每天0点执行SQL语句
CREATE EVENT everyday_event
ON SCHEDULE EVERY 1 DAY STARTS '2021-12-01 00:00:00'
DO
    -- 要执行的SQL语句

解释:以上的定时任务表示新建一个名为everyday_event的事件,每天00:00时执行SQL语句。

  1. 每隔30分钟执行SQL语句
CREATE EVENT every_thirty_minutes_event
ON SCHEDULE EVERY 30 MINUTE STARTS CURRENT_TIMESTAMP
DO
    -- 要执行的SQL语句

解释:以上的定时任务表示新建一个名为every_thirty_minutes_event的事件,每隔30分钟从当前时间开始执行SQL语句。

4. 查看定时器列表

要查看已经创建的定时器列表,可以使用以下语句:

SHOW EVENTS;

5. 修改/删除定时器

要修改一个已经创建的定时器,可以使用ALTER EVENT语句。要删除一个定时器,可以使用DROP EVENT语句。以下是这些语句的语法:

-- 修改定时器
ALTER EVENT event_name
ON SCHEDULE schedule
DO sql_statement;

-- 删除定时器
DROP EVENT event_name;

以上就是使用MySQL自带的定时器定时执行SQL语句的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何用mysql自带的定时器定时执行sql(每天0点执行与间隔分/时执行) - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • mysql-8.0.19-winx64 安装

    一、首先需要到官方mysql中下载最新版mysql          解压到指定目录如:D:\WinInstall\mysql-8.0.19-winx64 这时候你需要在根目录下创建两个文件,分别是data文件夹和my.ini文件,然后使用编辑器编辑my.ini文件,并在其中添加   mysqld] # 设置3306端口 port=3306 # 设置mysq…

    MySQL 2023年4月12日
    00
  • 使用MYSQL TIMESTAMP字段进行时间加减运算问题

    使用MYSQL TIMESTAMP字段进行时间加减运算可以用来计算两个时间点之间的时间差,或者以一定的时间单位进行时间加减运算。下面是完整的攻略: 1. TIMESTAMP字段的格式 在MYSQL中,TIMESTAMP字段的格式为”yyyy-mm-dd hh:mm:ss”,其中yyyy为年份,mm为月份,dd为日期,hh为小时,mm为分钟,ss为秒钟。例如,…

    database 2023年5月22日
    00
  • Redis中的数据过期策略详解

    Redis中的数据过期策略详解 Redis是一个快速的键-值存储系统,它被广泛应用于许多不同的应用程序中。Redis使用了多种数据过期策略,以便清除过期的键值对,以保证其内存占用不会无限增大。本文将会详细讲解Redis中的数据过期策略。 Redis中的数据过期策略 Redis中使用两种数据过期策略:惰性删除和定期删除。 2.1 惰性删除 当我们使用Redis…

    database 2023年5月22日
    00
  • 学习手册–Linux基础篇

    学习手册–Linux基础篇攻略 前言 Linux作为一个重要的开源操作系统,在服务器、移动设备、嵌入式系统等领域都有广泛的应用。Linux基础篇作为初学者入门的必修课程,了解和掌握Linux的基本概念和操作技能,对于日后的工作、学习都有很大的帮助。本攻略就是为初学者准备的,旨在帮助初学者快速掌握Linux的基本知识和技能。 步骤 1. 学习Linux基础概…

    database 2023年5月22日
    00
  • Linux 下进程的挂起和恢复命令

    进程的挂起和恢复是 Linux 系统下常见的操作。本文将介绍在 Linux 下进程的挂起和恢复命令的完整攻略,同时提供两个实际的示例说明。 进程的挂起 当系统中有一些进程正在执行时,有时需要挂起某些进程以便进行其他操作。在 Linux 下,可以使用以下命令来暂停进程的执行: kill -STOP <PID> 其中,PID 是需要暂停的进程的进程 …

    database 2023年5月22日
    00
  • SQL语句实现查询当前数据库IO等待状况

    要查询当前数据库IO等待状况,可以借助于SQL Server自带的动态管理视图(dm_io_pending_io_requests和dm_io_virtual_file_stats),以下是详细的攻略步骤: 1. 查询dm_io_pending_io_requests视图 dm_io_pending_io_requests视图返回所有正在等待IO完成的请求的…

    database 2023年5月21日
    00
  • Mysql多表关联不走索引的原因及分析

    下面就让我来详细讲解“Mysql多表关联不走索引的原因及分析”的攻略吧! 标题 前言 在Mysql数据库的使用中,常常会遇到多表关联的情况。但是,在多表关联时,有些情况下不走索引,导致查询效率极低。那么,这是为什么呢?下面就让我们来逐步分析。 索引的基础概念 首先,我们需要了解一下Mysql中索引的基础概念及相关知识。 索引的定义 索引(Index)是一种特…

    database 2023年5月22日
    00
  • Linux集群/分布式环境下session处理的五种策略详解

    让我来详细讲解一下Linux集群/分布式环境下session处理的五种策略。 一、背景 在Linux集群/分布式环境下,实现session一致性是面临的一大挑战。本文将介绍5种实现session一致性的策略。 二、五种策略 1. cookie cookie是一种常见的实现session的方式。应用程序会在响应中设置一个cookie标头,该cookie包含se…

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部