mysql使用Navicat创建定时执行任务
使用Navicat创建定时执行任务:
1. 准备需要定时执行的sql脚本:
如定时更新时间:
update your_table y set y.update_time = NOW() where y.id = '123';
2. 创建函数:
① 进入navicat找到函数选择新建函数,填写名称并选中"过程"后点击确定。
② 点击确定后会进入函数定义页面:
③ 在begin和end之间写要执行的sql语句并保存 eg:
3.创建事件:
① 在定义里写 call + 上面定义的函数名 eg:
② 在定义选项里定义执行时间范围(下面的是从STARTS的时间开始执行,到ENDS时间结束,每10秒执行一次)eg:
③ 在计划页面下面可以查看上次运行时间,按ctrl + S 可以刷新时间。
这样就完成了mysql的定时任务的创建。
任务部署好后如果不执行,排查上述步骤是否做的正确,可能遇到的问题:
1. 无法创建函数,创建函数报错时执行如下语句:
set global log_bin_trust_function_creators=TRUE;
2. 定时任务不执行解决:
① 查看定时执行是否打开:
show VARIABLES like 'event_scheduler'
如果是"ON"则是可以执行定时任务,如果是"OFF"代表关闭,
执行下面语句打开定时任务:
set GLOBAL event_scheduler = ON
② 定时任务状态为disable:
制定好定时任务后可以执行下面语句查看任务状态:
SHOW EVENTS
如果Status显示disable,则代表定时任务不能执行,可以执行下面语句修改为enabled可执行状态 (其中yourName写的是你的定时任务的名称):
ALTER EVENT yourName ON COMPLETION PRESERVE ENABLE;
或者通过定义界面修改状态为可执行:
如果经过上面问题的排查和问题的修改后还是不能执行定时任务,可以尝试单独执行函数,查看函数是否正确,其次可以把之前定义的函数和事件全部删除重新创建,应该就能正常执行了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示