- 浏览: 466746 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (470)
- 前言 (1)
- 【sys】centos6.2 (51)
- 【sys】shell (8)
- 【sys】yum (1)
- software (6)
- 【tec】ruby (16)
- 【tec】rails (35)
- 【tec】rails路由 (2)
- 【tec】rails部署 (10)
- 【tec】rails优化 (6)
- 【tec】rails测试 (11)
- 【tec】php (45)
- 【tec】android (1)
- 【tec】ios (125)
- 【data】mysql (11)
- web (6)
- 【life】文学与提升 (2)
- life (36)
- 【life】怀念 (1)
- 【web】nginx (5)
- 【web】网络与安全 (4)
- 工作随笔 (1)
- 【software】svn (5)
- 【script】jquery (10)
- powerEdge (2)
- 杂七杂八 (5)
- 【sys】ubuntu (9)
- 【sys】windows (4)
- 【tec】java (1)
- 【tec】html (3)
- 【tec】c++ (38)
- 【tec】汇编 (1)
- 【data】数据库 (1)
- 【exchange 】学术交流 (1)
- 【tec】域名空间 (1)
- 【tec】编程先知 (1)
- 【tec】网站建设 (7)
- 【sys】mac (24)
- 【sys】seo (1)
- 【tec】wp (1)
- 【software】git (4)
最新评论
-
fireDragonpzy:
呵呵 貌似我网站上的有更新 你从那里看看 这个博客维护的不及时 ...
牛人经典语录 -
Peppermintchz:
还真这么2过啊!!好怀念啊
牛人经典语录 -
fireDragonpzy:
chenhong53 写道你好,我想问一下,能不能给一组精灵数 ...
cocos2d-x事件触发的优先级 -
chenhong53:
你好,我想问一下,能不能给一组精灵数组中的精灵添加触屏优先级, ...
cocos2d-x事件触发的优先级 -
fireDragonpzy:
dreamstar1020 写道谢谢庞兄指点,写的很详细,谢谢 ...
致:上海郑兄(虚拟主机-web服务器搭建)
一、介绍
事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。而且 MySQL 的事件调度器可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。
事件调度器是定时触发执行的,在这个角度上也可以称作是”临时的触发器”。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个 (间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的”事件调度器”。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。
在使用这个功能之前必须确保event_scheduler已开启,可执行
或
来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如:
mysqld ... --event_scheduler=1
要查看当前是否已开启事件调度器,可执行如下SQL:
或
二、创建事件(CREATE EVENT)
先来看一下它的语法:
1) 首先来看一个简单的例子来演示每秒插入一条记录到数据表
等待3秒钟后,再执行查询看看:
SELECT * FROM aaa;
2) 5天后清空test表:
4) 每天定时清空test表:
5) 5天后开启每天定时清空test表:
6) 每天定时清空test表,5天后停止执行:
7) 5天后开启每天定时清空test表,一个月后停止执行:
8 ) 每天定时清空test表(只执行一次,任务完成后就终止该事件):
[ENABLE | DISABLE]可是设置该事件创建后状态是否开启或关闭,默认为ENABLE。
[COMMENT 'comment']可以给该事件加上注释。
事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功能。而且 MySQL 的事件调度器可以实现每秒钟执行一个任务,这在一些对实时性要求较高的环境下就非常实用了。
事件调度器是定时触发执行的,在这个角度上也可以称作是”临时的触发器”。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个 (间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的”事件调度器”。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。
在使用这个功能之前必须确保event_scheduler已开启,可执行
SET GLOBAL event_scheduler = 1;
或
SET GLOBAL event_scheduler = ON;
来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如:
mysqld ... --event_scheduler=1
要查看当前是否已开启事件调度器,可执行如下SQL:
SHOW VARIABLES LIKE 'event_scheduler';
或
SELECT @@event_scheduler;
二、创建事件(CREATE EVENT)
先来看一下它的语法:
CREATE EVENT [IF NOT EXISTS] event_name ON SCHEDULE schedule [ON COMPLETION [NOT] PRESERVE] [ENABLE | DISABLE] [COMMENT 'comment'] DO sql_statement; schedule: 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}
1) 首先来看一个简单的例子来演示每秒插入一条记录到数据表
USE test; CREATE TABLE aaa (timeline TIMESTAMP); CREATE EVENT e_test_insert ON SCHEDULE EVERY 1 SECOND DO INSERT INTO test.aaa VALUES (CURRENT_TIMESTAMP);
等待3秒钟后,再执行查询看看:
SELECT * FROM aaa;
+———————+ | timeline | +———————+ | 2007-07-18 20:44:26 | | 2007-07-18 20:44:27 | | 2007-07-18 20:44:28 | +———————+
2) 5天后清空test表:
CREATE EVENT e_test ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;
4) 每天定时清空test表:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY DO TRUNCATE TABLE test.aaa;
5) 5天后开启每天定时清空test表:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;
6) 每天定时清空test表,5天后停止执行:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 5 DAY DO TRUNCATE TABLE test.aaa;
7) 5天后开启每天定时清空test表,一个月后停止执行:
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY STARTS CURRENT_TIMESTAMP + INTERVAL 5 DAY ENDS CURRENT_TIMESTAMP + INTERVAL 1 MONTH DO TRUNCATE TABLE test.aaa; [ON COMPLETION [NOT] PRESERVE]#可以设置这个事件是执行一次还是持久执行,默认为NOT PRESERVE。
8 ) 每天定时清空test表(只执行一次,任务完成后就终止该事件):
CREATE EVENT e_test ON SCHEDULE EVERY 1 DAY ON COMPLETION NOT PRESERVE DO TRUNCATE TABLE test.aaa;
[ENABLE | DISABLE]可是设置该事件创建后状态是否开启或关闭,默认为ENABLE。
[COMMENT 'comment']可以给该事件加上注释。
发表评论
-
在Mac OS X中配置Apache + PHP + MySQL
2012-10-09 11:44 725详情请参考:【Software Myzone】http://w ... -
mysql my.ini 配置文件详解
2012-05-30 17:57 1229#BEGIN CONFIG INFO #DESCR: 4GB ... -
iptables
2012-05-16 09:14 919# Firewall configuration writte ... -
linux 启动文件
2012-05-09 20:03 911l0:0:wait:/etc/rc.d/rc 0 l1: ... -
linux服务自启动
2012-05-09 19:40 944以下是我整理的一些有关"linux服务自动启动功能& ... -
基于DNS的分布式字典查询服务使用方法
2012-05-06 16:16 9301. 在 ~/.bashrc 的末尾添加下面两行 # jia ... -
linux jdk安装
2012-04-30 11:04 16081、下载jdk linux版本 地址:http://www. ... -
linux下php环境搭建
2012-04-24 10:50 13971.卸载自带的php rpm -qa|grep php ... -
linux下php编译参数
2012-04-24 10:14 804http://huagelinux.blog.163.com/ ... -
linux 支持gb2312文件
2012-04-24 09:22 1497用命令:locale -a 可以查看是否支持gb2312 ... -
centos下mysql安装
2012-04-20 15:01 966#wget http://mysql.ntu.edu.tw/D ... -
Linux下查看用户及用户组的方法
2012-03-26 15:54 961http://soft.chinabyte.com/os/15 ... -
mysql 的自动启动 使用配置文件 /etc/my.cnf
2012-03-17 14:27 817http://www.cnblogs.com/cy163/ar ... -
linux命令积累
2012-03-17 14:15 8781 查看文件属性: ll 文件名 2 创建软连接: ln - ... -
libmysqlclient.so.18错误
2012-03-17 13:08 2591设置libmysqlclient的软链,防止编译其它依赖Mys ... -
linux下的vi命令
2012-03-16 10:37 1066vi编辑器有3种模式:命令模式、输入模式、末行模式。掌握这三种 ... -
解决远程连接mysql错误1130
2012-03-16 09:45 922远程连接Mysql服务器的数据库,错误代码是1130,ERRO ... -
Linux SSH远程文件目录传输命令scp (转载)
2012-03-15 16:01 962相信各位VPSer在使用VPS时会经常在不同VPS间互相备份数 ... -
Centos6.2 web服务器分区--self
2012-02-22 10:44 1828分区类型 分区的实 ... -
Centos目录解析--self
2012-02-22 10:42 1387Centos文件系统: 1.普通文件 2.目录文件 3. ...
相关推荐
1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/(第 1/24 页)2006-11-02 19:12:13 MySQL 5.1 Reference Manual 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天...
1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...
1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 ...
1.6.1. MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是什么 1.8.2. ...
MySQL 5.1是MySQL数据库管理系统的一个重要版本,它提供了许多功能和改进,为开发者和数据库管理员提供了更高效、更灵活的数据存储与管理方案。本参考手册中文版旨在帮助用户全面理解和掌握MySQL 5.1的各项特性。 1...
MySQL 5.1参考手册.chm 前言 1. 一般信息 1.1. 关于本手册 1.2. 本手册采用的惯例 1.3. MySQL AB概述 1.4. MySQL数据库管理系统概述 1.4.1. MySQL的历史 1.4.2. MySQL的的主要特性 1.4.3. MySQL稳定性 1.4.4. MySQL...
MySQL 5.1的新特性 1.7. MySQL信息源 1.7.1. MySQL邮件列表 1.7.2. IRC(在线聊天系统)上的MySQL社区支持 1.7.3. MySQL论坛上的MySQL社区支持 1.8. MySQL标准的兼容性 1.8.1. MySQL遵从的标准是...
MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 This translation was done by MySQL ...
MYSQL5.1 CHM版中文帮助文档(小白必看):内容包含Mysql的一般信息、安装教程、数据库管理、优化、语言结构、字符集支持、列类型、函数和操作符、SQL语句语法、插件式存储引擎体系结构、存储引擎和表类型、编写...
MySQL 5.1参考手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问:dev.mysql.com。 原始参考手册为英文版,与英文版参考手册相比,本翻译版可能不是最新的。 目录 前言 1. 一般信息 2. 安装MySQL 3. ...
MySQL5.1 中文手册 这是MySQL参考手册的翻译版本,关于MySQL参考手册,请访问dev.mysql.com。 原始参考手册为英文版。 -------------------------------------------------------------------------------- ...
这份“mysql5.1 参考手册”提供了全面的技术指南,帮助用户理解和掌握MySQL 5.1的各种操作和特性。下面我们将深入探讨MySQL 5.1的一些关键知识点。 一、安装与配置 在开始使用MySQL之前,必须进行安装和配置。MySQL...
8. **触发器和事件**:这些允许自动执行特定任务,如在数据更改时触发的操作或定期执行的脚本。 9. **性能优化**:包括查询优化、查询缓存、表分区、性能分析工具等,以提升系统整体性能。 10. **复制技术**:...
MySQL-JDBC反序列化漏洞是一种安全风险,出现在MySQL的Java驱动程序中,允许攻击者通过特定的JDBC连接参数触发反序列化过程,可能导致远程代码执行。这种漏洞主要利用了MySQL Connector/J,它是MySQL数据库与Java...
### MySQL 5.1 新特性:事件 #### 一、简介 MySQL 5.1 版本引入了一项重要的新特性——**事件**。这项功能允许数据库管理员和开发者通过简单的SQL命令来设置定时任务,从而实现自动化的数据库操作。本文将详细介绍...
- `5.1.x`系列:适用于MySQL 5.0到5.7版本,其中`5.1.38`和`5.1.47`是不同版本的补丁更新,增强了稳定性和安全性。 - `6.0.x`系列:主要为MySQL 5.5到5.7提供支持,`6.0.6`包含对新特性的支持和错误修复。 - `8.0...
一、概述 事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功>能。例如,Linux 中的 crontabe 只能精确到每分钟执行一次,而 MySQL ...
在某些版本的MySQL Connector/J(例如5.1.10及以下的5.1.X版本)中,如果设置了`autoDeserialize=true`,并且`queryInterceptors`包含特定的拦截器(如`ServerStatusDiffInterceptor`),即使没有执行任何SQL查询,...
2. 5.1.10及以下的5.1.X版本,情况与上面类似,但也需要在连接后执行查询才能触发漏洞。 3. 5.1.41及以上版本,已经修复了这个问题,因此不再易受此漏洞影响。 测试代码示例展示了如何构建JDBC连接字符串来触发此...