MySQL数据库设置事件调度

1. 开启MySQL事件调度器

 
SET GLOBAL event_scheduler = ON;

你可以用下面命令查看是否开启:

 
SHOW VARIABLES LIKE 'event_scheduler';

如果返回 ON 就是启用状态。


2. 创建事件(每天凌晨3点执行)

 
CREATE EVENT IF NOT EXISTS ev_update_host_detail ON SCHEDULE EVERY 1 DAY STARTS CONCAT(CURDATE(), ' 03:00:00') DO CALL update_host_detail();

说明

  • EVERY 1 DAY 表示每天执行一次。

  • STARTS CONCAT(CURDATE(), ' 03:00:00') 表示从当天凌晨3点开始执行。
    如果你刚创建事件,且时间已过当天3点,事件会从第二天3点开始执行。

  • CALL update_host_detail() 是执行存储过程。


3. 查看和管理事件

  • 查看事件:

 
 
SHOW EVENTS WHERE Name = 'ev_update_host_detail';
  • 删除事件:

 
 
DROP EVENT IF EXISTS ev_update_host_detail;
posted @ 2025-07-30 15:56  一只竹节虫  阅读(9)  评论(0)    收藏  举报