Rumah pangkalan data tutorial mysql MySQL事件调度器(Event Scheduler)_MySQL

MySQL事件调度器(Event Scheduler)_MySQL

Jun 01, 2016 pm 01:52 PM
Tugasan ciri

  一、概述

  事件调度器是在 MySQL 5.1 中新增的另一个特色功能,可以作为定时任务调度器,取代部分原先只能用操作系统任务调度器才能完成的定时功>能。例如,Linux 中的 crontabe 只能精确到每分钟执行一次,而 MySQL 的事件调度器则可以实现每秒钟执行一个任务,这在一些对实时性要>求较高的环境下就非常实用了。

  事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器"。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。

(root:localhost:)test> SET GLOBAL event_scheduler = ON;
(root:localhost:)test> show processlistG
*************************** 4. row ***************************
   Id: 46147
  User: event_scheduler
  Host: localhost
   db: NULL
Command: Daemon
  Time: 1
 State: Waiting on empty queue
  Info: NULL

  如上,该线程的所有者是 event_scheduler。

  二、应用案例

  本案例是利用 event scheduler 的特性,每秒钟调用一次存储过程,用于判断 SLAVE 是否正常运行,如果发现 SLAVE 关闭了,忽略 0 次错误,然后重新启动 SLAVE。

  首先创建存储过程

  delimiter //
create procedure `Slave_Monitor`()
begin
  SELECT VARIABLE_VALUE INTO @SLAVE_STATUS
FROM information_schema.GLOBAL_STATUS
WHERE VARIABLE_NAME='SLAVE_RUNNING';
  IF ('ON' != @SLAVE_STATUS) THEN
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=0;
SLAVE START;
END IF;
  end; //
delimiter ;

  由于存储过程中无法调用类似 SHOW SLAVE STATUS 这样的语句,因此无法得到确切的复制错误信息和错误代码,不能进一步的处理 SLAVE 停止的各种情况。

  接着,创建任务

CREATE EVENT IF NOT EXISTS `Slave_Monitor`
ON SCHEDULE EVERY 5 SECOND
ON COMPLETION PRESERVE
DO
CALL Slave_Monitor();

  创建了一个任务,每 5秒钟 执行一次,任务结束后依旧保留该任务,而不是删除。当然了,在本例中的任务不会结束,除非将它手动禁止了。

  如果在运行中想要临时关闭一下某个任务,执行 ALTER EVENT 语句即可:

  (root:localhost:)test> alter event `Slave_Monitor` ON
COMPLETION PRESERVE DISABLE;
(root:localhost:)test> alter event `Slave_Monitor` ON
COMPLETION PRESERVE ENABLE;

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan misi koridor seram dalam Simulator Kambing 3 Bagaimana untuk menyelesaikan misi koridor seram dalam Simulator Kambing 3 Feb 25, 2024 pm 03:40 PM

Bagaimana untuk menyelesaikan misi koridor seram dalam Simulator Kambing 3

Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler Aug 01, 2023 pm 08:43 PM

Betulkan: Operator menolak ralat permintaan dalam Windows Task Scheduler

Bagaimana untuk melepasi misi Imperial Tomb dalam Goat Simulator 3 Bagaimana untuk melepasi misi Imperial Tomb dalam Goat Simulator 3 Mar 11, 2024 pm 01:10 PM

Bagaimana untuk melepasi misi Imperial Tomb dalam Goat Simulator 3

Bagaimana untuk melakukan misi menyelamat Steve dalam Goat Simulator 3 Bagaimana untuk melakukan misi menyelamat Steve dalam Goat Simulator 3 Feb 25, 2024 pm 03:34 PM

Bagaimana untuk melakukan misi menyelamat Steve dalam Goat Simulator 3

Di manakah saya boleh mencari tugas kumpulan peminat Douyin? Adakah kelab peminat Douyin akan kehilangan tahap? Di manakah saya boleh mencari tugas kumpulan peminat Douyin? Adakah kelab peminat Douyin akan kehilangan tahap? Mar 07, 2024 pm 05:25 PM

Di manakah saya boleh mencari tugas kumpulan peminat Douyin? Adakah kelab peminat Douyin akan kehilangan tahap?

Bagaimana untuk menghentikan kemas kini proses Pengurus Tugas dan mematikan tugas dengan lebih mudah dalam Windows 11 Bagaimana untuk menghentikan kemas kini proses Pengurus Tugas dan mematikan tugas dengan lebih mudah dalam Windows 11 Aug 20, 2023 am 11:05 AM

Bagaimana untuk menghentikan kemas kini proses Pengurus Tugas dan mematikan tugas dengan lebih mudah dalam Windows 11

Analisis Masa Pentagon Warrior! Universiti Tsinghua mencadangkan TimesNet: terkemuka dalam ramalan, pengisian, pengelasan dan pengesanan Analisis Masa Pentagon Warrior! Universiti Tsinghua mencadangkan TimesNet: terkemuka dalam ramalan, pengisian, pengelasan dan pengesanan Apr 11, 2023 pm 07:34 PM

Analisis Masa Pentagon Warrior! Universiti Tsinghua mencadangkan TimesNet: terkemuka dalam ramalan, pengisian, pengelasan dan pengesanan

Semua yang anda perlu tahu tentang pilihan Tugas Akhir dalam bar tugas Windows 11 Semua yang anda perlu tahu tentang pilihan Tugas Akhir dalam bar tugas Windows 11 Aug 25, 2023 pm 12:29 PM

Semua yang anda perlu tahu tentang pilihan Tugas Akhir dalam bar tugas Windows 11

See all articles