Le programmateur d’événements ( Event Scheduler ) (part 6/6)

juin 29, 2009

(<- précédent)

Limitations et restrictions

Certaines commandes MySQL ne sont pas permises dans un événement.

Verrouiller une table est interdit: LOCK TABLES, UNLOCK TABLES.

Il n’est malheureusement pas possible de charger des données avec la commande LOAD DATA INFILE.

Les requêtes préparées (PREPARED STATEMENT) ne peuvent être créées dans un événement.

La récursivité.

Un événement ne peut être créé, modifié ou supprimé par un déclencheur, une procédure stockée ou un autre événement.

De plus, on ne peut pas créer, modifier ou supprimer un déclencheur ou une procédure stockée dans un événement.

La suppression d’une base de données (DROP DATABASE) entraine la suppression de tous les objets qu’elle contient, donc les évènements aussi.

Un événement désactivé (DISABLE, DISABLE ON SLAVE) est supprimé en cas d’arrêt du serveur.

Le DEFINER doit avoir les droits nécessaires pour l’exécution de l’évènement, cet utilisateur doit bien entendu exister. S’il est supprimé, renommé ou si ses privilèges ne sont plus adaptés, l’exécution de l’évènement échoue.

mysql> DROP USER daz@localhost;
Query OK, 0 rows affected (0.00 sec)


En éditant le journal des erreurs:

080527 23:09:05 [Note] Event Scheduler: [daz@localhost].[_event.second_event] started in thread 46.
080527 23:09:05 [ERROR] Event Scheduler: [daz@localhost].[_event.second_event] execution failed, failed to authenticate the user.
080527 23:09:05 [ERROR] Event Scheduler: [daz@localhost][_event.second_event] There is no ‘daz’@’localhost’ registered
080527 23:09:05 [Note] Event Scheduler: [daz@localhost].[_event.second_event] event execution failed.

Conclusion

Comme vous avez pu le constater tout au long de cet article, le programmateur d’évènements est bien plus qu’un simple gadget, un véritable outil qui s’ajoute à la palette de l’administrateur de base de données MySQL.

Malgré certaines limitations, comme l’impossibilité de lancer des commandes systèmes ou des scripts externes, ce planificateur facilitera la vie du DBA en lui donnant la possibilité d’automatiser certaines tâches de maintenance.



(Début de l’article)

Comments are closed.