mysql定时器_MySQL
要使用mysql定时器。
首先必须启动调度器“event_scheduler”。
查看当前是否已开启事件计划(调度器)有3种方法:
1) SHOW VARIABLES LIKE 'event_scheduler';
2) SELECT @@event_scheduler;
3) SHOW PROCESSLIST;
开启事件计划(调度器)开关有4种方法:
1) SET GLOBAL event_scheduler = 1;
2) SET @@global.event_scheduler = 1;
3) SET GLOBAL event_scheduler = ON;
4) SET @@global.event_scheduler = ON;
其次是创建定时器事件,可以通过sql创建,也可以安装Navicat Premium(mysql客户端)创建。
1)通过sql创建定时器事件:
create event if not exists eventJob
on schedule every 2 second STARTS '2015-07-14 00:00:00'
on completion PRESERVE
ENABLE
do call mypro();
上述sql脚本中“eventJob ”为定时器事件名称,“mypro”为mysql函数或者存储过程。sql脚本表示从 '2015-07-14 00:00:00'开始,每2秒钟执行mypro()函数一次。当然也可以设置结束时间。
2) 通过客户端创建定时器事件:
如图中所示,call关键字后是需要执行的函数或者存储过程;状态表示定时器事件的状态,是否启用,enable表示启用,disable表示不启用,可以手动设置也可以通过sql来进行设置; on completion设置为“PRESERVE”。
“计划”中标签中,主要是设置定时器的频率和开始结束时间。AT表示,从当前mysql数据库时间开始(这个时间是从启动器启用开始,即当状态为“ENABLE”时),根据一定频率的执行;EVERY是自定义开始时间和结束时间;相对来书EVERY比较灵活,使用方便。
最后,当然是设置定时器事件的状态。
在上一步中,我们无论是sql创建还是客户端创建都可以设置状态,但是当我们没有设置状态或者说关闭定时器事件的时候,就需要执行sql
ALTER EVENT eventJob ON COMPLETION PRESERVE ENABLE; ---- 开启事件
ALTER EVENT eventJob ON COMPLETION PRESERVE DISABLE; ---- 关闭事件
上一篇: Java如何实现反射静态加载和动态加载实例代码详解
下一篇: Java初始化方法类与容器详解
推荐阅读
-
Python导入txt数据到mysql的方法
-
django连接mysql配置方法总结(推荐)
-
分享一个Mysql主从同步记录
-
在 CentOS 7 中安装 MySQL 8 的教程详解
-
MySQL基本简单操作
-
Linux连接mysql报错:Access denied for user ‘root’@‘localhost’(using password: YES)的解决
-
CentOS7下Mysql5.7安装
-
MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘\xF0\x9F\x92\xA9\x0D
-
Oracle与MySQL的分页查询sql语句格式实例讲解
-
MySQL中的视图使用详解