教程 mariadb tutorial

事件调度器

1. 什么是事件调度器

事件调度器(Event Scheduler)是 MariaDB 的定时任务功能,允许用户预设 SQL 语句在指定时间或周期自动执行,用于自动化维护、数据备份、统计等任务。

2. 启用事件调度器

默认情况下事件调度器可能未启用,可以通过以下命令开启:

sql
SET GLOBAL event_scheduler = ON;

`

3. 查看事件调度器状态

sql
SHOW VARIABLES LIKE 'event_scheduler';

4. 创建事件语法

sql
CREATE EVENT event_name
ON SCHEDULE schedule
DO
    event_body;
  • schedule:指定事件执行时间,如 EVERY 1 DAY、AT CURRENT_TIMESTAMP + INTERVAL 1 HOUR 等。

5. 示例:每小时清理过期数据

sql
CREATE EVENT cleanup_expired_sessions
ON SCHEDULE EVERY 1 HOUR
DO
    DELETE FROM sessions WHERE expires_at < NOW();

6. 管理事件

  • 启用事件:
sql
ALTER EVENT event_name ENABLE;
  • 禁用事件:
sql
ALTER EVENT event_name DISABLE;
  • 删除事件:
sql
DROP EVENT event_name;

7. 查看已创建的事件

sql
SHOW EVENTS;

事件调度器为 MariaDB 提供强大的定时自动执行功能,适合自动维护和定期任务管理。