相关的文档10bet官方网站 本手册下载
PDF (Ltr)- 36.3 mb
PDF (A4)- 36.3 mb
手册页(TGZ)- 235.4 kb
手册页(邮政编码)- 347.1 kb
信息(Gzip)- 3.3 mb
信息(邮政编码)- 3.3 mb
本手册节选

23.4.2事件调度器配置

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

全球event_scheduler系统变量确定是否启用事件调度器并在服务器上运行。它有以下值之一,影响事件调度,如下所述:

  • :停止事件调度器。的输出中没有显示事件调度器线程未运行显示PROCESSLIST,并且没有执行计划的事件。是默认的event_scheduler价值。

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

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

    当事件调度程序为的输出中列出了事件调度器线程显示PROCESSLIST作为一个守护进程,它的状态如下所示:

    mysql >显示PROCESSLIST \ G  *************************** 1。行  *************************** Id: 1用户:根主持人:localhost db:零命令:查询时间:0状态:零信息:显示processlist  *************************** 2。row *************************** Id: 2 User: event_scheduler Host: localhost db: NULL Command: Daemon Time: 3 State: Waiting for next activation Info: NULL 2 rows in set (0.00 sec)

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

  • 禁用:此值使事件调度器不可操作。当事件调度程序为禁用的输出中不会出现事件调度器线程显示PROCESSLIST).此外,不能在运行时更改事件调度器状态。

如果未将事件调度器状态设置为禁用event_scheduler可以在两者之间切换吗而且(使用).它也可以使用0,1当设置此变量时。因此,以下4个语句中的任何一个都可以用于mysql客户端打开事件调度程序:

SET GLOBAL event_scheduler = ON;设置@@GLOBAL。event_scheduler =;SET GLOBAL event_scheduler = 1;设置@@GLOBAL。event_scheduler = 1;

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

SET GLOBAL event_scheduler = OFF;设置@@GLOBAL。event_scheduler =;SET GLOBAL event_scheduler = 0;设置@@GLOBAL。event_scheduler = 0;

虽然而且有数字等价物,显示的值为event_scheduler通过选择显示变量一直都是,或禁用禁用没有相应的数字.由于这个原因,而且通常优先于1而且0当设置此变量时。

注意,试图设置event_scheduler不将其指定为全局变量会导致错误:

mysql< SET @@event_scheduler = OFF;变量'event_scheduler'是一个全局变量,应该用set GLOBAL设置
重要的

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

要禁用事件调度器,请使用以下两种方法之一:

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

    ——event-scheduler =禁用
  • 在服务器配置文件(my.cnf,或my.ini在Windows系统上),包含服务器可以读取它的行(例如,在(mysqld)部分):

    event_scheduler =禁用

要启用事件调度器,请重新启动服务器——event-scheduler =禁用命令行选项,或者在删除或注释掉包含event-scheduler =禁用在服务器配置文件中。或者,您也可以使用(或1)或(或0)代替禁用值。

请注意

可以在以下情况下发出事件操作语句event_scheduler被设置为禁用.在这种情况下不会产生警告或错误(只要语句本身是有效的)。但是,在将此变量设置为之前,无法执行计划事件(或1).一旦完成此操作,事件调度器线程将执行满足调度条件的所有事件。

启动MySQL服务器——skip-grant-tables选择的原因event_scheduler被设置为禁用控件中设置的任何其他值my.cnfmy.ini文件(错误# 26807)。

有关用于创建、更改和删除事件的SQL语句,请参见第23.4.3节,“事件语法”

MySQL提供了一个事件表中INFORMATION_SCHEMA数据库。通过查询该表,可以获取服务器上已定义的计划事件信息。看到第23.4.4节,“事件元数据”,第24.3.8节“信息模式事件表”,以查询更多资料。

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