MySQL Events学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 【背景】随着业务的变更,应用每天需要对系统里面的所有客户积分进行累计计算,在做整个操作的时候,系统的其他收银等一些业务就会受到影响,所以经过确认在每天晚上23点,做一个定时的Events让系统自动运行,以下是关于Events的相关学习文档;   【介绍】event_scheduler:时间调度器,是MySQL5.1.x版本中引入了一项新特性,在指定的时间单元内执行特定的任务,早期一些对数据定时性操作通过操作系统的crontable的操作,可以直接使用数据库本身提供的功能。

【背景】随着业务的变更,应用每天需要对系统里面的所有客户积分进行累计计算,在做整个操作的时候,系统的其他收银等一些业务就会受到影响,所以经过确认在每天晚上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篇文档,希望能对大家有用;

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
9月前
|
存储 关系型数据库 MySQL
MySQL索引学习笔记
本文深入探讨了MySQL数据库中慢查询分析的关键概念和技术手段。
644 81
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
309 6
|
SQL Oracle 关系型数据库
MySQL学习笔记
MySQL学习笔记
110 0
|
SQL 关系型数据库 MySQL
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
MySQL中用于数据检索的`fetchone()`, `fetchmany()`, `fetchall()`函数的功能、SQL语句示例和应用场景。
328 3
Mysql学习笔记(三):fetchone(), fetchmany(), fetchall()详细总结
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
228 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
174 1
|
SQL druid Java
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
164 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(下)
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
556 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
SQL 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(下)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
103 6
|
存储 关系型数据库 MySQL
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(一、MySQL超详细学习笔记)
401 4

推荐镜像

更多