相关的文档10bet官方网站 下载本手册 本手册摘录

25.4.2事件调度程序配置

事件是由一个特殊的事件计划程序线程;当我们引用事件调度程序时,我们实际上引用了这个线程。控件的用户在运行时可以看到事件调度程序线程及其当前状态过程产出的特权显示processlist.,如下讨论所示。

全球event_scheduler.system变量决定事件调度程序是否启用并在服务器上运行。它有这3个值之一,它们影响这里描述的事件调度。默认值是

  • :事件调度程序已启动;事件计划程序线程运行并执行所有计划的事件。

    当事件调度程序是,事件调度程序线程列在输出中显示processlist.作为守护程序进程,其状态表示如下所示:

    mysql> show processlist \ g *************************** 1.行***************************** ID:1用户:root host:localhost db:null命令:查询时间:0状态:null信息:显示processlist *************************** 2.行*************************** ID:2用户:event_scheduler主机:localhost db:null命令:守护程序时间:3状态:等待下一个激活信息:设置为null 2行(0.00秒)

    可以通过设置值来停止事件调度event_scheduler.

  • :事件调度程序停止。事件调度程序线程不运行,不在输出中显示显示processlist.,并且没有执行计划事件。

    事件调度程序停止时(event_scheduler.),可以通过设置值来启动event_scheduler..(参见下一项)。

  • 禁用:此值呈现事件调度程序非操作。当事件调度程序是禁用,事件计划程序线程未运行(因此不显示输出中显示processlist.)。此外,事件调度程序状态不能在运行时更改。

事件调度程序状态未设置为禁用event_scheduler.可以之间切换吗(使用)。也可以使用0.为了,1为了设置此变量时。因此,可以使用以下任何4个陈述mysql.客户端打开事件计划程序:

设置Global Event_scheduler = ON;设置@@ global.event_scheduler = ON;设置全局event_scheduler = 1;set @@ global.event_scheduler = 1;

类似地,这4条语句中的任何一条都可以用来关闭事件调度程序:

设置Global Event_scheduler = OFF;设置@@ global.event_scheduler = OFF;设置全局event_scheduler = 0;设置@@ global.event_scheduler = 0;

虽然有数字等价物,值显示为event_scheduler.经过选择显示变量总是其中之一, 或者禁用禁用没有数字等价物.由于这个原因,通常优先于10.设置此变量时。

请注意,试图设置event_scheduler.如果没有将其指定为全局变量会导致错误:

mysql< SET @@event_scheduler = OFF;ERROR 1229 (HY000):变量'event_scheduler'是一个全局变量,应该设置为set GLOBAL
重要的

可以将事件调度程序设置为禁用仅在服务器启动时。如果event_scheduler.,你不能设置它禁用在运行时。此外,如果事件调度程序设置为禁用在启动时,您无法更改值event_scheduler.在运行时。

要禁用事件计划程序,请使用以下两种方法之一:

  • 作为命令行选项启动服务器时:

    -Event-Scheduler =已禁用
  • 在服务器配置文件中(我.CNF., 或者My.ini.在Windows系统上),包括服务器可以读取的线(例如,在a中(mysqld)部分):

    event_scheduler =已禁用

要启用事件调度程序,请在没有的情况下重新启动服务器-Event-Scheduler =已禁用命令行选项,或删除或注释删除包含的行Event-Scheduler =已禁用在服务器配置文件中。或者,您可以使用(或者1)或(或者0.)来代替禁用启动服务器时的值。

笔记

您可以在何时发出事件操作陈述event_scheduler.被设置为禁用.在这种情况下不会产生警告或错误(如果陈述本身是有效的)。但是,在该变量设置为时,计划的事件无法执行(或者1)。一旦完成了这一旦完成,事件调度程序线程就执行满足其调度条件的所有事件。

启动mysql服务器——skip-grant-tables选项原因event_scheduler.设置为禁用,覆盖命令行上或我.CNF.My.ini.文件(bug#26807)。

对于用于创建,更改和删除事件的SQL语句,请参阅第25.4.3节“事件语法”

MySQL提供了一个事件表中INFORMATION_SCHEMA数据库。可以查询此表以获取有关在服务器上定义的计划事件的信息。看第25.4.4节“事件元数据”,第26.3.14节“Information_schema事件表”, 想要查询更多的信息。

有关事件调度​​和MySQL权限系统的信息,请参阅第25.4.6节,“事件调度程序和MySQL特权”