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
在下面的这个表中,定时的参数可以手工改。
当然,也可以直接在这里修改