首页 > 数据库 >mysql 创建定时器,每天晚上1点钟调用存储过程proc_task

mysql 创建定时器,每天晚上1点钟调用存储过程proc_task

时间:2023-09-04 17:01:23浏览次数:38  
标签:存储 定时器 创建 task 事件 mysql proc

在 MySQL 中,你可以使用事件调度器(Event Scheduler)来创建定时器,以在指定时间自动执行存储过程。以下是在每天晚上1点钟调用存储过程proc_task的示例:

首先,确保 MySQL 事件调度器已经启用。如果尚未启用,可以在 MySQL 客户端中执行以下命令:

SET GLOBAL event_scheduler = ON;

然后,创建定时器:

DELIMITER //
CREATE EVENT IF NOT EXISTS my_daily_event
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY
ON COMPLETION PRESERVE
DO
BEGIN
  -- 调用存储过程 proc_task
  CALL proc_task();
END //
DELIMITER ;

DELIMITER // 是为了更好地处理包含多行内容的语句。
CREATE EVENT IF NOT EXISTS my_daily_event 创建一个名为my_daily_event的事件,如果该事件已经存在则不创建。
ON SCHEDULE EVERY 1 DAY 定义事件执行的频率,这里设置为每天执行一次。
STARTS CURRENT_TIMESTAMP + INTERVAL 1 DAY 定义事件的开始时间,这里设置为当前时间的下一天1点钟。
ON COMPLETION PRESERVE 定义当事件完成时的处理方式。PRESERVE表示保留事件,不删除它。
DO 后面是事件要执行的内容,这里使用 BEGIN...END 块调用存储过程 proc_task()。
请注意,定时器的创建需要具有相应权限的用户执行。确保你有足够的权限来创建事件调度器和调用存储过程。另外,定时器会在每天的1点钟触发,并执行存储过程 proc_task()。

标签:存储,定时器,创建,task,事件,mysql,proc
From: https://www.cnblogs.com/ruyun/p/17677556.html

相关文章

  • MySQL备份与恢复
    1.    直接拷贝数据库文件找到MySQL安装目录,如果是unix系列主机,进入data目录,tarcvf[数据库名].tar[数据库名],然后移动到用户目录,用ftpdownload这个文件,解压后拷贝到本机MySQL相应目录即可。2.    使用mysqldump导出:mysqldump--opt-uroot-p[密码]>dbbak.sql(使......
  • MySQL修改密码方法总结
    MySQL修改密码方法总结作者:intphp<scripttype=text/javascript></script><scriptsrc="http://pagead2.googlesyndication.com/pagead/show_ads.js"type=text/javascript></script><scriptsrc="http://down.meety.com/asrep/......
  • MySQL入门系列1-数据定义语言(DDL)
    一、概念DDL:数据定义语言,用来定义数据库对象,包含数据库、数据表、数据表中的字段。二、数据库相关操作1.查询所有数据库showdatabases;2.查询当前所在的数据库selectdatabase();3.创建数据库createdatabaseifnotexists数据库名;4.删除数据库dropdatabase数据库名;5.切换......
  • MySQL的Json类型个人用法详解
    ​ 前言虽然MySQL很早就添加了Json类型,但是在业务开发过程中还是很少设计带这种类型的表。少不代表没有,当真正要对Json类型进行特定查询,修改,插入和优化等操作时,却感觉一下子想不起那些函数怎么使用。比如把json里的某个键和值作为SQL条件,修改某个键下的子键的值,其中可能会遇到......
  • Mysql获取时间处理
    前置:当前时间:2023-09-04 Mysql获取昨天0点时间:SELECTTIMESTAMP(date_add(curdate(),INTERVAL-1DAY));  Mysql获取昨天23点59分59秒时间:SELECTDATE_SUB(DATE_ADD(CURRENT_DATE,INTERVAL0DAY),INTERVAL1SECOND)   Mysql获取当天0点的时间:S......
  • mysql各个执行阶段
    问题如果表T中没有字段k,而你执行了这个语句select*fromTwherek=1,那肯定是会报“不存在这个列”的错误:“Unknowncolumn‘k’in‘whereclause’”。你觉得这个错误是在我们上面提到的哪个阶段报出来的呢?分析优化器会进行优化分析,比如用先执行哪个条件参考......
  • MySQL MGR集群部署运维常用脚本
    Linux系统-部署-运维系列导航 安装、初始化操作汇总注意:Pass.Test.123替换为真实的root账号密码,Repl.pass.123替换为真实的mgr集群创建时group_replication_recovery通道的密码 #初始化、重置mysqlrm-rf/data/mysql/;mkdir-p/data/mysql/data/data/mysql/log;......
  • MySQL联表查询优化
    Linux系统-部署-运维系列导航  sql执行顺序执行FROM语句执行ON过滤join添加外部行执行where条件过滤执行groupby以及分组语句,(开始使用select中的别名,后面的语句中都可以使用别名)执行havingselect列表执行distinct去重复数据执行orderby字句执行limit字句 ......
  • MybatisPlus处理Mysql的json类型
    MybatisPlus处理Mysql的json类型1、在数据库表定义JSON字段;2、在实体类加上@TableName(autoResultMap=true)、在JSON字段映射的属性加上@TableField(typeHandler=JacksonTypeHandler.class);1.实体类中有个属性是其他对象,或者是List;在数据库中存储时使用的是mysql的json格式,此......
  • mysql到达梦存储过程常见问题
    1.1 变量的使用createorreplaceproceduree_test()asbegin setstrsql='selectidinto@eidfromtest2orderbyidlimit1,10'; insertintotestselectid,namefromtest2whereidin(eid); setstst=strsql; executestst;end;变量需要提前定义cre......