msyql,开定时任务

一 . 开启MySQL EVENT特性支持

在使用这个功能的时候首先要确保MySQL已经开定时任务功能,可以执行以下查询:

#查询MySQL计划任务支持是否开启  
show variables like '%sche%';

若显示:

+-----------------+-------+  
| Variable\_name   | Value |  
+-----------------+-------+  
| event\_scheduler | OFF   |  
+-----------------+-------+

证明计划任务没有开启:

#开启MySQL计划任务支持  
SET GLOBAL event\_scheduler = ON;  
SET @@global.event\_scheduler = ON;  
SET GLOBAL event\_scheduler = 1;  
SET @@global.event\_scheduler = 1;

#如果计划任务存在,则删除计划任务  
DROP EVENT IF EXISTS testInsert;  
  
#创建计划任务  
CREATE EVENT IF NOT EXISTS testInsert  
ON SCHEDULE EVERY 3 SECOND  
ON COMPLETION PRESERVE   
DO INSERT INTO aa(\`name\`,sex) VALUES('aa',2),('bb',1);  
  
#开启计划任务  
ALTER EVENT testInsert ENABLE;  
  
#关闭计划任务  
ALTER EVENT testInsert DISABLE;

#删除表中超过7天的数据,每天执行一次  xxx.xxx为数据库和数据表名
CREATE EVENT IF NOT EXISTS testDelete  
ON SCHEDULE EVERY 1 DAY  
ON COMPLETION PRESERVE   
DO delete from xxx.xxx where \`addtime\`< (NOW()-INTERVAL 7 DAY);

王加文博客
请先登录后发表评论
  • latest comments
  • 总共0条评论