Rechercher dans le manuel MySQL
24.4.2 Event Scheduler Configuration
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 these 3 values, which affect
event scheduling as described here. The default is
ON
.
ON
: The Event Scheduler is started; the event scheduler thread runs and executes all scheduled events.When the Event Scheduler is
ON
, the event scheduler thread is listed in the output ofSHOW 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
Event scheduling can be stopped by setting the value of
event_scheduler
toOFF
.OFF
: The Event Scheduler is stopped. The event scheduler thread does not run, is not shown in the output ofSHOW PROCESSLIST
, and no scheduled events are executed.When the Event Scheduler is stopped (
event_scheduler
isOFF
), it can be started by setting the value ofevent_scheduler
toON
. (See next item.)DISABLED
: This value renders the Event Scheduler nonoperational. When the Event Scheduler isDISABLED
, the event scheduler thread does not run (and so does not appear in the output ofSHOW 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:
Similarly, any of these 4 statements can be used to turn off the Event Scheduler:
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:
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
, ormy.ini
on Windows systems), include the line where it will 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 24.4.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 24.4.4, “Event Metadata”,
and Section 25.10, “The INFORMATION_SCHEMA EVENTS Table”, for more information.
For information regarding event scheduling and the MySQL privilege system, see Section 24.4.6, “The Event Scheduler and MySQL Privileges”.
Traduction non disponible
Le manuel MySQL n'est pas encore traduit en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Document créé le 26/06/2006, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/mysql-rf-events-configuration.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.