MySQL 的定时任务主要通过事件调度器(Event Scheduler)来实现。事件调度器是 MySQL 5.1 版本后引入的一个功能,它允许在指定的时间执行特定的 SQL 语句或存储过程。
事件调度器(Event Scheduler):
事件(Event):
假设我们要每天凌晨 2 点删除 logs 表中超过 30 天的记录:
DELIMITER $$
CREATE EVENT IF NOT EXISTS `DeleteOldLogs`
ON SCHEDULE EVERY 1 DAY
STARTS CURRENT_DATE + INTERVAL 2 HOUR
DO
BEGIN
DELETE FROM logs WHERE created_at < NOW() - INTERVAL 30 DAY;
END$$
DELIMITER ;确保事件调度器处于启用状态:
SET GLOBAL event_scheduler = ON;问题1:事件未按计划执行
event_scheduler 的状态:event_scheduler 的状态:OFF,则启用它:OFF,则启用它:问题2:事件执行时出现错误
通过合理使用 MySQL 的定时任务功能,可以大大提高数据库管理的自动化程度和工作效率。
没有搜到相关的沙龙