`
glutinit
  • 浏览: 45904 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

(MYSQL EVENT 学习笔记_01)Event Scheduler Configuration

阅读更多
原文见MySQL官方文档http://dev.mysql.com/doc/refman/5.1/en/events-configuration.html
估计MySQL迟早会发布中文版的文档,所以我还是只写一些摘要吧,另外,文中的专有名字就不翻译了,否则反倒弄巧成拙。
Event Scheduler Configuration 读后感
MySQL的Event是通过event scheduler thread(可称之为事件计划线程)来运行的。
可通过SHOW PROCESSLIST来警醒查看该线程及其状态;(当然,得拥有PROCESS权限)
MySQL有一个event_scheduler系统变量,负责管理Event Scheduler是否运行。从5.1.12开始,它有三个值可供选择:
• OFF  表示Event Scheduler已停止,表示event scheduler thread不在运行,所以在show processlist的结果中也无法看到
• ON  表示Event Scheduler已开启,从show processlist的结果中可看到其为一dadmon process.
• DISABLED  表示Event Scheduler不在工作,同样在Show processlist中无法查看到,并且该线程的状态也无法修改
当Event Scheduler的状态不属于DISABLED时,其值可以在ON和OFF间切换(使用SET命令):
开启:
SET GLOBAL event_scheduler = ON;
SET @@global.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = 1;


     关闭:
SET GLOBAL event_scheduler = OFF;
SET @@global.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = 0;


附件为我开启Scheduler Thread后查看到的process list,其中可以看到Scheduler Thread。

注意:
只有在服务器开启时才能将Event Scheduler设置为DISABLED,如果event scheduler是ON或者OFF,则不能在运行时将其设置为DISABLED。当然,如果已经在服务开启前将其设置为DISABLED了,则无法在运行时将event  scheduler修改为ON或者OFF。


有两种方法可以在启动时关闭Event Scheduler:
1. 在命令行中加入 
--event-scheduler=DISABLED

2. 在配置文件(my.cnf or my.ini)中加入(修改)
event_scheduler=DISABLED

注:在5.1.11版本中,event scheduler还有一个 Suspended的状态,并且在ON,OFF,SUSPENDED之间的切换有可能需要重启服务,以后遇到需要注意此区别…


  • 大小: 22.9 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics