mysql定时任务调用存储过程定时执行

mysql的定时事件可以设定在某个时间自动执行步骤如下:
注:如果是不知道如何创建存储过程,请查看我的上一篇博文
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看定时器是否开启:

show variables like 'event_scheduler'; 

查询结果如下:
在这里插入图片描述
此时说明没有开启,开启方法如下:
由于我是mysql装在linux上,在操作的过程遇到一个问题:
如下:

ERROR bai9 (HYdu): The MySQL server is running with the --skip-grant-tables option so i cannot execute this statement
-- 第一打到 my.cnf文件
vim etc/my.cnf
-- 按i进行编辑功能,注释掉skip-grant-tables
# skip-grant-tables
--添加 event_scheduler=ON
event_scheduler=ON
-- 按esc > :wq保存退出
-- 重启mysql
service mysqld stop
service mysqld start
--重新查询
show variables like 'event_scheduler'; 

结果如下:
在这里插入图片描述

以下两种写法可以进行测试:

# 当前时间后一分钟开始执行,每隔30秒执行一次,可以用这个来进行测试
DROP EVENT IF EXISTS event_remind_month_1 ;	
CREATE EVENT `event_remind_month_1`	-- 创建名字为user_event的事件
ON SCHEDULE EVERY 30 SECOND STARTS DATE_ADD(now(), INTERVAL 1 MINUTE)  
ON COMPLETION NOT PRESERVE
ENABLE
DO call pro_remind_month(1, @result) ;
# 次日凌晨1点开始执行,每隔一天的凌晨1点执行一次
-- 先删除事件
DROP EVENT IF EXISTS event_remind_month_2 ;	
CREATE EVENT `event_remind_month_2`	-- 创建名字为user_event的事件
ON SCHEDULE EVERY 1 DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY), INTERVAL 1 HOUR) -- 每隔一天执行一次,开始执行时间为明天凌晨1点整
ON COMPLETION NOT PRESERVE
ENABLE
DO   call pro_remind_month(1, @result) ;
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A吴广智

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值