MySQL事件(Event)是MySQL 5.1版本后引入的一种定时任务机制,它允许在指定的时间或周期性地执行SQL语句。事件运行记录表通常用于记录这些事件的执行情况,包括事件的启动时间、结束时间、执行结果等信息。
SHOW VARIABLES LIKE 'event_scheduler';
SET GLOBAL event_scheduler = ON;
以下是一个简单的MySQL事件示例,用于每天凌晨自动备份数据库:
-- 创建事件调度器(如果尚未创建)
DELIMITER $$
CREATE EVENT IF NOT EXISTS daily_backup
ON SCHEDULE EVERY 1 DAY
STARTS '2023-01-01 00:00:00'
DO
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
-- 处理异常情况,如记录日志等
ROLLBACK;
END;
START TRANSACTION;
-- 执行备份操作,这里假设备份到某个文件
SELECT * INTO OUTFILE '/path/to/backup/backup_'.DATE_FORMAT(NOW(), '%Y%m%d').'.sql'
FROM your_table;
COMMIT;
END$$
DELIMITER ;
领取专属 10元无门槛券
手把手带您无忧上云