mysql中可以使用定时器,用来进行计划的调度,在mysql中定时器通过事件的形式存在,接下来介绍一下定时器的使用
创建定时器
CREATE EVENT IF NOT EXISTS 计划名-- 计划频率和开启计划时间或者是计划执行的时间-- 前一个可以实现持续的计划调度,后一个到指定时间进行调度,执行完结束,没有持续性ON SCHEDULE [EVERY 10 SECOND STARTS TIMESTAMP 开启时间] [AT 开启时间]-- 当计划执行完成时,是否删除ON COMPLETION [NOT] PRESERVE do 存储过程-- 实例
-- 在2019-03-26 13:10:00开始每隔10秒往user表中添加一条记录
CREATE EVENT IF NOT EXISTS addUserON SCHEDULE EVERY 10 SECOND STARTS '2019-03-26 13:10:00'ON COMPLETION PRESERVEdo CALL insertUser()
查看数据库是否开启调度
-- 查看是否开启调度
show variables like '%event_scheduler%';
当mysql未开启调度器时,我们需要启动一下调度器
SET GLOBAL event_scheduler = 1;
关闭和开启指定定时器
ALTER EVENT 定时器名 ON COMPLETION PRESERVE [ENABLE][DISABLE];-- 关闭调度器addUser
ALTER EVENT addUser ON COMPLETION PRESERVE DISABLE
删除定时器
drop EVENT 定时器名;
-- 删除定时器addUser
drop EVENT addUser;
使用有图形界面的客户端操作mysql定时器更加简便