开发者社区> kuoren> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

mysql定时任务

简介: delimiter // -- 确保服务器事件计划开启 set global event_scheduler=1 -- 创建定时任务 like job create event if not exists e_execut_publish_status on schedule every 1 day starts '2015-09-02 01:01:01' com
+关注继续查看
delimiter //

-- 确保服务器事件计划开启 set global event_scheduler=1
-- 创建定时任务 like job

create event if not exists e_execut_publish_status
  on schedule every 1 day starts '2015-09-02 01:01:01'
  comment '定时任务:每天0点执行,更新t_publish表的c_status'

do
  begin

    call sp_auto_update_publish_status();

  end//

delimiter ;

1 mysql在5.x版本后支持自动定时任务功能

2 设置开启定时任务: set global event_scheduler=1
设置方法A: mysql命令行输入 set global event_scheduler=1
B:在配置文件my.cnf(linux环境)中,[mysqld] 下添加event_scheduler=1/on

3 查看定时任务
查看定时任务是否已经开启: show variables like ‘%event%’;
查看目前系统的定时任务: show processlist/show events;
查看定时任务创建语句:show create event event_name;

4 语法分析
语法:CREATE EVENT [IF NOT EXISTS] event_name
ON SCHEDULE schedule
[ON COMPLETION [NOT] PRESERVE]
[ENABLE | DISABLE]
[COMMENT ‘comment’]
DO sql_statement;
说明:event_name :创建的event名字(唯一确定的);
ON SCHEDULE:计划任务
schedule: 决定event的执行时间和频率(注意时间一定要是将来的时间,过去的时间会出错),有两种形式 AT和EVERY
AT timestamp [+ INTERVAL interval] | EVERY interval [STARTS timestamp] [ENDS timestamp]
interval: quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE | WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE | DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

[ON COMPLETION [NOT] PRESERVE]: 可选项,默认是ON COMPLETION NOT PRESERVE 即计划任务执行完毕后自动drop该事件;ON COMPLETION PRESERVE则不会drop掉 ;

[COMMENT ‘comment’] :可选项,comment 用来描述event;相当注释,最大长度64个字节
[ENABLE | DISABLE] :设定event的状态,默认ENABLE:表示系统尝试执行这个事件, DISABLE:关闭该事情,可以用alter修改

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
mysql
DDL操作数据表
11 0
MySQL
本文整理了MySQL相关的知识,方便以后查阅。
45 0
MySQL
环境 cenos7 准备工作 检测名称 hostname -f 更新系统 sudo yum update 安装Wget yum install wget 安装 下载并添加存储库,然后进行更新 wget http://repo.
912 0
mysql设置定时任务
mysql设置定时任务 今天遇到了个需要每天定时执行的任务,在mysql数据库里面提供了这样的功能,正好整理下分享出来。 1.首先检查是否开启了定时任务 1 2 3 4 5 6 查看event是否开启 : SHOW VARIABLES LIKE '%event_sche%'; .
1208 0
+关注
kuoren
五年互联网金融开发经验;知名互联网P2P平台核心交易自动化开发;常用开发语言Java、C#、Python;熟练Linux命令使用
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载