ITPub博客

首页 > 数据库 > MySQL > MySQL Events学习笔记

MySQL Events学习笔记

原创 MySQL 作者:wzq609 时间:2015-08-27 19:43:29 0 删除 编辑

【背景】随着业务的变更,应用每天需要对系统里面的所有客户积分进行累计计算,在做整个操作的时候,系统的其他收银等一些业务就会受到影响,所以经过确认在每天晚上23点,做一个定时的Events让系统自动运行,以下是关于Events的相关学习文档;

 

【介绍】event_scheduler:时间调度器,是MySQL5.1.x版本中引入了一项新特性,在指定的时间单元内执行特定的任务,早期一些对数据定时性操作通过操作系统的crontable的操作,可以直接使用数据库本身提供的功能。

 

【使用说明】

1、状态查看方法:

默认的情况下该功能是属于关闭状态,需要先进行启用后才能使用该特性;

SHOW VARIABLES LIKE 'event_scheduler';

 

2、启用和关闭

参考前面的参数文档修改方法,这边有四种的方法进行修改

SET GLOBAL event_scheduler = 1;

SET @@global.event_scheduler = 1;

SET GLOBAL event_scheduler = ON;

SET @@global.event_scheduler = ON;

键值1或者ON表示开启;0或者OFF表示关闭;

或者也可以在server的配置文件((my.cnf, or my.ini on Windows systems)中设置event_scheduler=1,然后重启服务器

 

3、使用的方法

详细语法:http://dev.mysql.com/doc/refman/5.5/en/event-scheduler.html

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}

 

4、查看schema下的所有event

SHOW EVENTS FROM test \G;                        查看test下面的所有event 
SELECT  event_schema,event_name,event_definition,interval_value,interval_field,last_executed,status
FROM `INFORMATION_SCHEMA`.`EVENTS`
ORDER BY EVENT_NAME;                               查看数据库下面所有schema的所有enent

 

5、enents内容的查看

mysql> show create event event_vipview \G
*************************** 1. row ***************************
               Event: event_vipview
            sql_mode:
           time_zone: +08:00
        Create Event: CREATE DEFINER=`root`@`%` EVENT `event_vipview` ON SCHEDULE EVERY 1 DAY STARTS '2015-08-27 23:00:00' ON COMPLETION PRESERVE ENABLE DO call p_icrm_fm
character_set_client: utf8
collation_connection: utf8_general_ci
  Database Collation: utf8_general_ci
1 row in set (0.00 sec)

 

6、单个event的禁用和启用

禁用:alter event event_name disable;

启用:alter event event_name enable;

 

7、删除event

drop event if exists event_name;

 

以上包含了管理event的所有相关信息,也是我的第200篇文档,希望能对大家有用;

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12679300/viewspace-1784410/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-06-16

  • 博文量
    173
  • 访问量
    3083836