【背景】随着业务的变更,应用每天需要对系统里面的所有客户积分进行累计计算,在做整个操作的时候,系统的其他收银等一些业务就会受到影响,所以经过确认在每天晚上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表示关闭; |
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 schedule: interval: |
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 |
6、单个event的禁用和启用
禁用:alter event event_name disable; 启用:alter event event_name enable; |
7、删除event
drop event if exists event_name; |
以上包含了管理event的所有相关信息,也是我的第200篇文档,希望能对大家有用;