MySQL 9.5 Reference Manual Including MySQL NDB Cluster 9.5
      Events are executed by a special event
      scheduler thread; when we refer to the Event Scheduler,
      we actually refer to this thread. When running, the event
      scheduler thread and its current state can be seen by users having
      the PROCESS privilege in the output
      of SHOW PROCESSLIST, as shown in
      the discussion that follows.
    
      The global event_scheduler system
      variable determines whether the Event Scheduler is enabled and
      running on the server. It has one of the following values, which
      affect event scheduling as described:
    
          ON: The Event Scheduler is started; the
          event scheduler thread runs and executes all scheduled events.
          ON is the default
          event_scheduler value.
        
          When the Event Scheduler is ON, the event
          scheduler thread is listed in the output of
          SHOW PROCESSLIST as a daemon
          process, and its state is represented as shown here:
        
mysql> SHOW PROCESSLIST\G
*************************** 1. row ***************************
     Id: 1
   User: root
   Host: localhost
     db: NULL
Command: Query
   Time: 0
  State: NULL
   Info: show 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 scheduling can be stopped by setting the value of
          event_scheduler to
          OFF.
        
          OFF: The Event Scheduler is stopped. The
          event scheduler thread does not run, is not shown in the
          output of SHOW PROCESSLIST, and
          no scheduled events execute.
        
          When the Event Scheduler is stopped
          (event_scheduler is
          OFF), it can be started by setting the
          value of event_scheduler to
          ON. (See next item.)
        
          DISABLED: This value renders the Event
          Scheduler nonoperational. When the Event Scheduler is
          DISABLED, the event scheduler thread does
          not run (and so does not appear in the output of
          SHOW PROCESSLIST). In addition,
          the Event Scheduler state cannot be changed at runtime.
        
      If the Event Scheduler status has not been set to
      DISABLED,
      event_scheduler can be toggled
      between ON and OFF (using
      SET). It
      is also possible to use 0 for
      OFF, and 1 for
      ON when setting this variable. Thus, any of the
      following 4 statements can be used in the mysql
      client to turn on the Event Scheduler:
    
SET GLOBAL event_scheduler = ON; SET @@GLOBAL.event_scheduler = ON; SET GLOBAL event_scheduler = 1; SET @@GLOBAL.event_scheduler = 1;
Similarly, any of these 4 statements can be used to turn off the Event Scheduler:
SET GLOBAL event_scheduler = OFF; SET @@GLOBAL.event_scheduler = OFF; SET GLOBAL event_scheduler = 0; SET @@GLOBAL.event_scheduler = 0;
        If the Event Scheduler is enabled, enabling the
        super_read_only system variable
        prevents it from updating event “last executed”
        timestamps in the events data dictionary
        table. This causes the Event Scheduler to stop the next time it
        tries to execute a scheduled event, after writing a message to
        the server error log. (In this situation the
        event_scheduler system variable
        does not change from ON to
        OFF. An implication is that this variable
        rejects the DBA intent that the Event
        Scheduler be enabled or disabled, where its actual status of
        started or stopped may be distinct.). If
        super_read_only is subsequently
        disabled after being enabled, the server automatically restarts
        the Event Scheduler as needed.
      
      Although ON and OFF have
      numeric equivalents, the value displayed for
      event_scheduler by
      SELECT or SHOW
      VARIABLES is always one of OFF,
      ON, or DISABLED.
      DISABLED has no numeric
      equivalent. For this reason, ON and
      OFF are usually preferred over
      1 and 0 when setting this
      variable.
    
      Note that attempting to set
      event_scheduler without
      specifying it as a global variable causes an error:
    
mysql< SET @@event_scheduler = OFF;
ERROR 1229 (HY000): Variable 'event_scheduler' is a GLOBAL
variable and should be set with SET GLOBAL
        It is possible to set the Event Scheduler to
        DISABLED only at server startup. If
        event_scheduler is
        ON or OFF, you cannot set
        it to DISABLED at runtime. Also, if the Event
        Scheduler is set to DISABLED at startup, you
        cannot change the value of
        event_scheduler at runtime.
      
To disable the event scheduler, use one of the following two methods:
As a command-line option when starting the server:
--event-scheduler=DISABLED
          In the server configuration file (my.cnf,
          or my.ini on Windows systems), include
          the line where it can be read by the server (for example, in a
          [mysqld] section):
        
event_scheduler=DISABLED
      To enable the Event Scheduler, restart the server without the
      --event-scheduler=DISABLED
      command-line option, or after removing or commenting out the line
      containing event-scheduler=DISABLED
      in the server configuration file, as appropriate. Alternatively,
      you can use ON (or 1) or
      OFF (or 0) in place of the
      DISABLED value when starting the server.
    
        You can issue event-manipulation statements when
        event_scheduler is set to
        DISABLED. No warnings or errors are generated
        in such cases (provided that the statements are themselves
        valid). However, scheduled events cannot execute until this
        variable is set to ON (or
        1). Once this has been done, the event
        scheduler thread executes all events whose scheduling conditions
        are satisfied.
      
      Starting the MySQL server with the
      --skip-grant-tables option causes
      event_scheduler to be set to
      DISABLED, overriding any other value set either
      on the command line or in the my.cnf or
      my.ini file (Bug #26807).
    
For SQL statements used to create, alter, and drop events, see Section 27.5.3, “Event Syntax”.
      MySQL provides an EVENTS table in the
      INFORMATION_SCHEMA database. This table can be
      queried to obtain information about scheduled events which have
      been defined on the server. See Section 27.5.4, “Event Metadata”,
      and Section 28.3.14, “The INFORMATION_SCHEMA EVENTS Table”, for more
      information.
    
For information regarding event scheduling and the MySQL privilege system, see Section 27.5.6, “The Event Scheduler and MySQL Privileges”.