Maison  >  Article  >  base de données  >  Explication détaillée du code graphique du planificateur d'événements mysql

Explication détaillée du code graphique du planificateur d'événements mysql

黄舟
黄舟original
2017-03-29 13:17:241488parcourir

L'éditeur ci-dessous vous proposera un mysql événement événementPlanificateur (à lire absolument). Je pense que c'est plutôt bien, alors je vais le partager avec vous maintenant et le donner comme référence. Suivons l'éditeur et jetons un oeil.

. Présentation

MySQL possède également son propre planificateur d'événements, qui peut être simplement compris comme le travail crontab de linux, mais pour les applications SQL, ses fonctions sont plus complètes et plus facile à maintenir. Personnellement, je pense que si trop de fichiers sont créés, cela peut affecter les performances de la base de données et être difficile à déboguer

Le contenu principal du planificateur d'événements MySQL

Interrupteur principal

Le paramètre event_scheduler est l'interrupteur principal du planificateur d'événements. De manière générale, il est bon de le régler sur ON ou OFF. recommandé. Réglé sur désactivé, s'il est défini sur ON, afficher le processuslist

peut voir le fil de discussion

Explication détaillée du code graphique du planificateur d'événements mysqlCréer, modifier, afficher, etc. Syntaxe

Concernant la façon de créer et de modifier des événements, il n'y a pas de description ici. La syntaxe de création est la suivante. Pour la signification spécifique, veuillez vous référer à l'introduction suivante du tableau d'informations sur les événements. le lien du document du site officiel, http://dev.mysql.com/doc/ refman/5.6/en/create-event.html

Explication détaillée du code graphique du planificateur d'événements mysqlVoir le. événement créé. Après avoir entré la base de données actuelle, affichez créer un événement xxxG

Explication détaillée du code graphique du planificateur d'événements mysql

Requête d'informations et signification de l'événement
Pour afficher les informations d'état d'un événement, vous pouvez afficher mysql.event ou information_schema.events, ou simplement passer à la base de données actuelle et exécuter les événements show, le contenu des trois est fondamentalement le même, information_schema ne peut pas copier les données, et les noms et heures de début suivants ont été modifiés pour une meilleure lecture. Les informations contenues dans information_schema.events sont expliquées à titre d'exemple

Explication détaillée du code graphique du planificateur d'événements mysql<.>
EVENT_CATALOG :

est généralement défini, quel que soit EVENT_SCHEMA :

Le schéma où se trouve l'événementEVENT_NAME :

Le nom de l'événement DEFINER : Le définisseur de

event est cohérent avec le résultat de selectcurrent_user() par défaut lors de la définition de cet événement. Si l'utilisateur dispose des autorisations super, il peut être spécifié comme autre utilisateur TIME_ZONE :

Le fuseau horaire utilisé par l'événement, la valeur par défaut est système, il est recommandé de ne pas le modifier

EVENT_BODY :

C'est généralement du SQL, ne vous inquiétez pas

EVENT_DEFINITION :

Le contenu de l'événement peut être un SQL spécifique tel que insert, ou il peut s'agir d'un appel

Opération de procédure stockée EVENT_TYPE :

Ce paramètre est plus important Il est précisé lors de la définition Il a deux valeurs : RECURRING et ONE TIME, RECURRING Indique qu'il sera exécuté de manière répétée. tant que les conditions sont remplies, et ONE TIME ne sera appelé qu'une seule fois

EXECUTE_AT :

est valable pour les événements de type ponctuel, s'il est de RÉCURRENT l'événement de type est généralement

NULL, indiquant le temps d'exécution estimé de l'événement INTERVAL_VALUE :

est valable pour les événements de type RECURRING, indiquant l'exécution longueur de l'intervalle

INTERVAL_FIELD :

est valide pour les événements de type RÉCURRENT, indiquant l'unité d'intervalle d'exécution, généralement SECOND, DAY et d'autres valeurs. Veuillez vous référer à la syntaxe de création.

SQL_MODE :

SQL_MODE utilisé par l'événement en cours

STARTS :

est valide pour RÉCURRENT tapez events, indiquant qu'un événement commence à partir de Le moment auquel l'exécution commence est similaire à la fonction EXECUTE_AT à usage unique. S'il est NULL, cela signifie que l'exécution démarrera dès que les conditions seront remplies

ENDS : est valable pour les événements de type RÉCURRENT, indiquant le moment après lequel un événement ne sera plus exécuté. S'il est NULL, il ne s'arrêtera jamais

.

STATUS : a généralement trois valeurs, ENABLED, DISABLED et SLAVESIDE_DISABLED signifie l'activation de cet événement tant qu'il remplit d'autres conditions ; ne sera pas exécuté si l'état DISABLED est modifié. SLAVESIDE_DISABLED signifie que l'événement ne sera pas exécuté sur la bibliothèque esclave. Une attention particulière doit être portée à ne pas exécuter aucune forme d'événement sur la bibliothèque esclave, car si la bibliothèque principale l'exécute une fois, le copie dans la bibliothèque esclave, puis l'exécute à nouveau à partir de la bibliothèque esclave, les données seront généralement incohérentes. en parlant, désactivez simplement l'événement sur la bibliothèque esclave. Activez simplement le commutateur principal event_scheduler.

ON_COMPLETION : Il n'y a que deux valeurs, PRESERVE et NOT PRESERVE, PRESERVE

CREATED : L'heure de création de l'événement

LAST_ALTERED : L'heure à laquelle l'événement a été modifié pour la dernière fois

LAST_EXECUTED : L'heure de la dernière exécution de l'événement. S'il est NULL, cela signifie qu'il n'a jamais été exécuté.

EVENT_COMMENT : Les informations commentaires de l'événement.

ORIGINATOR : lorsque l'événement en cours a été créé, identifiant du serveur, utilisé pour le traitement maître-esclave, tel que SLAVESIDE_DISABLED

CHARACTER_SET_CLIENT : client

jeu de caractères lorsque l'événement est créé, c'est-à-dire , Character_set_client

COLLATION_CONNECTION : à la création de l'événement. Les règles de vérification des caractères de connexion, à savoir collation_connection

DATABASE_COLLATION : règles de vérification du jeu de caractères de la base de données à la création de l'événement

Gestion des autorisations EVENT

1 Définir event_scheduler

variable système, l'autorisation super_priv est requise

2 La création, la modification et la suppression d'événements nécessitent l'autorisation EVENT de l'utilisateur, qui est au niveau du schéma

3 Correspond au contenu spécifique de l'événement et nécessite les autorisations correspondantes. Par exemple, s'il y a une

opération d'insertion sur une certaine table dans l'événement, alors l'utilisateur doit effectuer une opération d'insertion sur la table, sinon LAST_EXECUTED sera toujours dans l'état NULL

Requête d'événement

Utilisez la commande suivante pour afficher les statistiques d'informations liées aux événements depuis le démarrage de la base de données

mysql> showglobal status like &#39;%event%&#39;;
+--------------------------+-------+
|Variable_name | Value |
+--------------------------+-------+
|Com_alter_event | 0 |
|Com_create_event | 2 |
|Com_drop_event | 2 |
|Com_show_binlog_events | 0 |
|Com_show_create_event | 191 |
|Com_show_events | 40 |
|Com_show_relaylog_events | 0 |
+--------------------------+-------+
7 rows in set(0.00 sec)

Suggestions d'utilisation

1 Si la bibliothèque principale a été exécutée, la bibliothèque esclave doit s'assurer que l'événement ne sera pas exécuté (sauf si l'événement est créé intentionnellement sur l'esclave)

2 La manipulation directe de MySQL telle que la création et la suppression est strictement interdite. La table d'événements est implémentée via une syntaxe formelle telle que créer, sinon cela entraînerait une confusion des métadonnées et divers problèmes inexplicables se produiraient, tels que des événements non exécutés ou en cours d'exécution. exécuté à plusieurs reprises. À l’heure actuelle, le problème ne peut généralement être résolu qu’en redémarrant la base de données.

3 Si l'événement créé implique des modifications massives des données, des tests suffisants doivent être effectués pour garantir qu'il n'affecte pas le service réseau existant

4 Si vous devez sauvegarder la base de données avec l'événement , vous devez l'ajouter lorsque le paramètre mysqldump --event

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn