Mysql定时任务

https://www.cnblogs.com/chenpi/p/5137310.html

https://www.cnblogs.com/laowu-blog/p/5073665.html

 

1. 默认mysql定时是不开启的。运行这个

SET GLOBAL event_scheduler = 1;
SHOW VARIABLES LIKE '%event_sche%';

2. 虽然这里用set global event_scheduler = on语句开启了事件,但是每次重启电脑。或重启mysql服务后,会发现,事件自动关闭(event_scheduler=OFF),所以想让事件一直保持开启,最好修改配置文件,让mysql服务启动的时候开启时间,只需要在my.ini配置文件的[mysqld]部分加上event_scheduler=ON 即可,

 

3. 创建存储过程  参考 https://www.cnblogs.com/mark-chan/p/5384139.html

建立sp 时,已经有框架了,往里面填上你测试成功的代码。记得每一个要分号。不然报错

运行保存

 

4.  执行 sp

CALL sp_deptreewithdocnum

 5. 建立 定时任务

 

DROP EVENT IF EXISTS e_deptreewithdocnum;
DELIMITER ;;
CREATE EVENT e_deptreewithdocnum
ON SCHEDULE EVERY 1 MINUTE  STARTS TIMESTAMP '2019-05-15 15:10:30'
ON COMPLETION PRESERVE
DO
BEGIN
CALL sp_deptreewithdocnum;
END
;;
DELIMITER ;

 6. 如何查看已经建立的定时任务?

SELECT * FROM mysql.event \G

在下面的这个表中,定时的参数可以手工改。

 

当然,也可以直接在这里修改

 

posted @ 2019-05-15 14:28  Daniel_Lu  阅读(6984)  评论(0编辑  收藏  举报