web-dev-qa-db-fra.com

Comment activer le planificateur d'événements en permanence dans MySQL?

Comment activer définitivement le planificateur d'événements dans mysqld? J'utilise phpMyAdmin et j'ai planifié un événement pour copier des enregistrements d'une table dans une autre tous les jours à une heure spécifique, mais les enregistrements ne sont pas copiés tous les jours. J'ai essayé d'activer le planificateur d'événements.

SET GLOBAL event_scheduler="ON"; 

Lorsque je redémarre mon PC, le planificateur d'événements est désactivé. Comment puis-je faire en sorte qu'il soit toujours activé et non désactivé lorsque mysqld est redémarré?

6
user1930115

C'est vraiment assez facile (un de ces moments "Doh" :-)).

Vous le définissez dans my.cnf comme décrit ici :

[mysqld]
..
.. other_stuff
..
event_scheduler=on
..
.. more_stuff
..

(ou my.ini si vous utilisez Windows en tant que indiqué ci-dessous )

De la documentation MySQL ici , vous avez:

Lorsque le planificateur d'événements est activé, le thread du planificateur d'événements est répertorié dans la sortie de SHOW PROCESSLIST en tant que processus démon et son état est représenté comme indiqué ici:

Un processus daemon est un processus qui s'exécute en arrière-plan comme décrit ici . Aussi connu sous le nom de service dans Windows

Alors lancez:

mysql> SHOW PROCESSLIST\G

et il devrait y avoir une entrée comme celle-ci:

*************************** 2. row ***************************
     Id: 2
   User: event_scheduler
   Host: localhost
     db: NULL
Command: Daemon      <<<<<====== Note: Daemon!!!
   Time: 3
  State: Waiting for next activation
   Info: NULL
2 rows in set (0.00 sec)
8
Vérace