GNU/Linux >> Linux Esercitazione >  >> Linux

Utilità di pianificazione eventi MySQL

Gli eventi MySQL sono attività che vengono eseguite in base a una pianificazione. Quando si crea un evento, si crea un oggetto database denominato che contiene una o più istruzioni SQL pronte per essere eseguite, all'inizio e alla fine, a uno o più intervalli regolari di data e ora. Simile al Task Scheduler in Windows o crontab in UNIX.

Caratteristiche e proprietà

  • Un evento è identificato in modo univoco dal suo nome e dallo schema a cui è assegnato.
  • Esegui un'azione specifica in base a una pianificazione una sola volta o ricorrente.
  • Importa e salva file da GitHub®, Dropbox®, Google Drive® e One Drive®.
  • Trascina e rilascia markdown e file HTML in Dillinger.
  • Esporta documenti come Markdown, HTML e PDF.

Prima di tutto, devi convalidare lo stato dello stato di Event Scheduler. Un thread specialevent scheduler esegue gli eventi. Durante l'esecuzione, gli utenti possono vedere il thread di pianificazione eventi e il suo stato corrente se gli utenti hanno il privilegio di processo nell'output di SHOW PROCESSLIST .

Esempio

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)

Se l'utilità di pianificazione degli eventi non è abilitata, imposta event_scheduler systemvariable per abilitarlo e avviarlo:

SET GLOBAL event_scheduler = ON;
SET @@GLOBAL.event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@GLOBAL.event_scheduler = 1;

Allo stesso modo, imposta il programmatore di eventi variabile di sistema per disabilitarla o disattivarla:

SET GLOBAL event_scheduler = OFF;
SET @@GLOBAL.event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@GLOBAL.event_scheduler = 0;

Sintassi dell'evento

L'istruzione CREATE EVENT crea un nuovo evento. Questa è la sintassi di base dell'istruzione CREATE EVENT:

    CREATE EVENT [IF NOT EXIST] event_name
    ON SCHEDULE schedule
    DO
    event_body

Se l'evento è un evento occasionale, utilizzare:

AT timestamp [+ INTERVAL]

Se l'evento è ricorrente, utilizza:

EVERY interval STARTS timestamp [+INTERVAL] ENDS timestamp [+INTERVAL]

Esempio:

CREATE EVENT [IF NOT EXIST] test_event
ON SCHEDULE EVERY 10 SECONDS
DO
    INSERT INTO database VALUES (now());

Risultati:

1   2021-02-23 15:44:05
2   2021-02-23 15:44:15
3   2021-02-23 15:44:25
4   2021-02-23 15:44:35
5   2021-02-23 15:44:45
6   2021-02-23 15:44:55
7   2021-02-23 15:45:05
8   2021-02-23 15:45:15
9   2021-02-23 15:45:25
10   2021-02-23 15:45:35

Concedi i privilegi

Per consentire a un utente di creare, modificare o eliminare eventi, devi fornire i privilegi:

GRANT EVENT ON (schema) TO (user)

Ad esempio, il comando seguente concede l'autorizzazione per lo schemamyschema a un utente chiamato lin@tolvar .

GRANT EVENT ON myuschema TO lin@tolvar

Se utilizzi un asterisco (*), concedi le autorizzazioni a tutti gli schemi.


Linux
  1. Configura la replica sorgente-origine MySQL

  2. Importa un database MySQL

  3. Reimposta una password di root MySQL

  4. Come installare MySQL su Debian 11

  5. Backup MySQL 1.1

MongoDB contro MySQL

Guida agli eventi MySQL e all'utilità di pianificazione degli eventi

Tipi di dati MySQL

Che cos'è MySQL vs MariaDB vs Percona

Configura la replica della replica sorgente di MySQL

Rinominare il database MySQL