MySQL 的 计划任务

版权声明: https://blog.csdn.net/yup1212/article/details/84818986

mysql

一 数据库权限

1、检查数据库事件是否开启,

SELECT @@event_scheduler;
SHOW VARIABLES LIKE 'event_scheduler';
show variables like '%sche%';

2、开启事件

SET GLOBAL event_scheduler = ON;
SET GLOBAL event_scheduler = 1;
SET @@global.event_scheduler = ON;
SET @@global.event_scheduler = 1;

3、关闭事件

SET GLOBAL event_scheduler = OFF;
SET GLOBAL event_scheduler = 0;
SET @@global.event_scheduler = OFF;
SET @@global.event_scheduler = 0;

二 定时任务

1、查看定时任务

SELECT * FROM information_schema.events; 

2、关闭定时任务

ALTER EVENT 事件名 DISABLE;

3、开启定时任务

ALTER EVENT 事件名 ENABLE;

4、删除计划任务

DROP event 事件名;

 如果任务存在则删除计划任务

DROP EVENT IF EXISTS 事件名;

创建任务

每x天凌晨y点执行

CREATE EVENT IF NOT EXISTS 事件名  
    ON SCHEDULE EVERY x DAY STARTS DATE_ADD(DATE_ADD(CURDATE(), INTERVAL 1 DAY),INTERVAL y HOUR)   
    ON COMPLETION NOT PRESERVE   
    DO 你要执行的sql语句或过程名或函数名

 默认开始时间是创建时间 这句 DATE_ADD(CURDATE(), INTERVAL 1 DAY)确保从第二天00:00开始计算周期

参考:

https://blog.csdn.net/ziwoods/article/details/80569063

https://blog.csdn.net/u010003835/article/details/50563079  这个比较详细

https://blog.csdn.net/zhaowj0507/article/details/53468681 Navicat

https://www.cnblogs.com/jalja/p/5431567.html

猜你喜欢

转载自blog.csdn.net/yup1212/article/details/84818986