知识大全 MySQL事件调度器Event Scheduler详解

Posted 事件

篇首语:时间,就像海绵里的水,只要愿挤,总是有的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 MySQL事件调度器Event Scheduler详解相关的知识,希望对你有一定的参考价值。

MySQL事件调度器Event Scheduler详解  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

事件调度器是在 MySQL 中新增的另一个特色功能 可以作为定时任务调度器 取代部分原先只能用操作系统任务调度器才能完成的定时功>能 例如 Linux 中的 crontabe 只能精确到每分钟执行一次 而 MySQL 的事件调度器则可以实现每秒钟执行一个任务 这在一些对实时性要>求较高的环境下就非常实用了

事件调度器是定时触发执行的 在这个角度上也可以称作是 临时的触发器 触发器只是针对某个表产生的事件执行一些语句 而事件调度器则是在某一个(间隔)时间执行一些语句 事件是由一个特定的线程来管理的 也就是所谓的 事件调度器 启用事件调度器后 拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了 通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用

(root:localhost:)test> SET GLOBAL event_scheduler = ON;(root:localhost:)test> show processlist\\G*************************** row ***************************Id: User: event_schedulerHost: localhostdb: NULLCommand: DaemonTime: State: Waiting on empty queueInfo: NULL

如上 该线程的所有者是 event_scheduler

应用案例

本案例是利用 event scheduler 的特性 每秒钟调用一次存储过程 用于判断 SLAVE 是否正常运行 如果发现 SLAVE 关闭了 忽略 次错误 然后重新启动 SLAVE

首先创建存储过程

delimiter //create procedure `Slave_Monitor`()begin

SELECT VARIABLE_VALUE INTO @SLAVE_STATUS FROM information_schema GLOBAL_STATUS WHERE VARIABLE_NAME= SLAVE_RUNNING ;

IF ( ON != @SLAVE_STATUS) THENSET GLOBAL SQL_SLAVE_SKIP_COUNTER= ;SLAVE START;END IF;

end; //delimiter ;

 由于存储过程中无法调用类似 SHOW SLAVE STATUS 这样的语句 因此无法得到确切的复制错误信息和错误代码 不能进一步的处理 SLAVE 停止的各种情况

接着 创建任务

CREATE EVENT IF NOT EXISTS `Slave_Monitor`ON SCHEDULE EVERY SECONDON PLETION PRESERVEDOCALL Slave_Monitor();

创建了一个任务 每 秒钟 执行一次 任务结束后依旧保留该任务 而不是删除 当然了 在本例中的任务不会结束 除非将它手动禁止了

如果在运行中想要临时关闭一下某个任务 执行 ALTER EVENT 语句即可

cha138/Article/program/MySQL/201404/30554

相关参考

知识大全 9i中一个特殊等待事件--null event

  nullevent不是空事件不是没有等待事件而是Oracle忘记了刚才等待的事件的名字是什么了但保留了该事件的真实情况Oracle的开发人员直到才更新了这些事件名称    那是不是我们每当遇到性能

知识大全 Oracle数据库event事件与dump文件介绍

Oracle数据库event事件与dump文件介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 应用事件探查器优化SQL Server(图)

应用事件探查器优化SQLServer(图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  概述 

知识大全 “事件存取器”使用示例

  本文的示例是一个登陆窗口   主要组成   一个用户控件(存放登陆所用的控件)   一个登陆页面(放置上面

知识大全 用SQL Server事件探查器创建跟踪

用SQLServer事件探查器创建跟踪  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQLSe

知识大全 .NET中的Event与Delegates

.NET中的Event与Delegates  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!今天复习了

知识大全 关于innerHTML后丢失动态绑定的EVENT问题

关于innerHTML后丢失动态绑定的EVENT问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 Asp.net 2.0 为用户控件添加event

Asp.net2.0为用户控件添加event  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!使用us

知识大全 Turbine Howto 之 Action Event [译]

TurbineHowto之ActionEvent[译]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 深入解析10053事件

  事件       事件是oracle提供的用于跟踪sql语句成本计算的内部事件它能记载CBO模式下oracle优化器如何计算s