主题
事件调度器
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 提供强大的定时自动执行功能,适合自动维护和定期任务管理。