在MySQL中创建事件调度

在MySQL5.5之后,可以创建事件调度,具体语法如下:


CREATE
    [DEFINER = { user | CURRENT_USER }]
    EVENT
    [IF NOT EXISTS]
    event_name
    ON SCHEDULE schedule
    [ON COMPLETION [NOT] PRESERVE]
    [ENABLE | DISABLE | DISABLE ON SLAVE]
    [COMMENT 'comment']
    DO event_body;

schedule:
    AT timestamp [+ INTERVAL interval] ...
  | EVERY interval
    [STARTS timestamp [+ INTERVAL interval] ...]
    [ENDS timestamp [+ INTERVAL interval] ...]

interval:
    quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |
              WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |
              DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}

例如:我计划从2014-04-14的17:28分开始每一个星期执行一个命令或事件,这里执行一个存储过程daily().

     

mysql>create event dodaily on schedule every 1 week starts '2014-04-14 17:28:00' on completion preserve enable do call daily();

     


查看调度器状态:

mysql>show events \G;

禁用某事件调度

mysql>alter  event dodaily disable

重启某事件调度

mysql>alter  event dodaily enable

删除某事件调度

mysql>drop event dodaily ;



在设置了事件调度后,还要确认MySQL的事件调度器是否有开启,默认是关闭的,用以下命令查询其状态

mysql>show variables like '%scheduler%';

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | OFF    |
+-----------------+-------+
1 row in set (0.00 sec)

开启事件调度器用以下命令:

mysql>set  GLOBAL event_scheduler = 1;

mysql>show variables like '%scheduler%';

+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| event_scheduler | ON    |
+-----------------+-------+

但注意,当你重启MySQL服务时,事件调度器就会自动关闭,以上方法只是暂时开启,若想永久开启,就要修改MySQL的配置文件 (该文件,Linux的在/usr目录my..cnf下,Windows在其安装目录my-default.ini),打开配置文件,在[mysqld]增加以下配置

event_scheduler=ON

保存后,重启MySQL服务:service mysql restart,  那事件调度器就会永久开启了。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值