mysql事件和计划任务
1. 定义
CREATE[DEFINER = { user | CURRENT_USER }]EVENT[IF NOT EXISTS]event_nameON SCHEDULE schedule[ON COMPLETION [NOT] PRESERVE][ENABLE | DISABLE | DISABLE ON SLAVE][COMMENT 'string']DO event_body;schedule:AT timestamp [+ INTERVAL interval] ...| EVERY interval[STARTS timestamp [+ INTERVAL interval] ...][ENDS timestamp [+ INTERVAL interval] ...]interval:quantity {YEAR | QUARTER | MONTH | DAY | HOUR | MINUTE |WEEK | SECOND | YEAR_MONTH | DAY_HOUR | DAY_MINUTE |DAY_SECOND | HOUR_MINUTE | HOUR_SECOND | MINUTE_SECOND}
举个栗子:
CREATE DEFINER=`root`@`localhost` EVENT `banlance_deduct` ON SCHEDULE EVERY 10 SECOND STARTS '2018-07-30 15:58:49' ON COMPLETION PRESERVE DISABLE DO delete user_log order by create_time limit 10;
2. interval符合时间类型
SELECT DATE_SUB('2005-01-01 00:00:00',INTERVAL '1 1:1:1' DAY_SECOND); # 2004-12-30 22:58:59SELECT DATE_ADD('1900-01-01 00:00:00',INTERVAL '-1 10' DAY_HOUR); # 1899-12-30 14:00:00SELECT DATE_ADD('1900-01-01 00:00:00',INTERVAL '1 10' DAY_HOUR); # 1900-01-02 10:00:00
3. 运行类型
3.1 AT只运行一次
-- 当前时间加一周 执行 然后停止
AT CURRENT_TIMESTAMP + INTERVAL 1 WEEK
-- 指定时间加一周 执行 然后停止
AT '2018-06-15 18:00:00' + INTERVAL 1 WEEK
3.2 EVERY 每隔多久运行一次
-- 每天2点
EVERY 1 DAY STARTS '2018-07-30 02:00:00'
-- 每秒 | 分 | 小时 | 天 | 周 | 月 | 季 | 年
EVERY 1 SECOND | MINUTE | HOUR | DAY | WEEK | MONTH | QUARTER | YEAR
-- 每分秒 从2018-07-30 01:00:00 开始 每天1点1分 执行
EVERY '01:01' HOUR_MINUTE STARTS '2018-07-30 01:00:00'
-- 每分秒 从2018-07-31 12:00:00 开始 每小时的 1分1秒 执行
EVERY '01:01' MINUTE_SECOND STARTS '2018-07-31 12:00:00'
-- 每隔5秒,从 2018-07-01 15:00:00 起50秒钟后开始,并于2018-08-01 15:00:00起15秒钟后结束
EVERY 5 SECOND STARTS '2018-07-01 15:00:00' + INTERVAL 50 SECOND ENDS '2018-08-01 15:00:00' + INTERVAL 15 SECOND
-- 每十二个小时,从现在起50 分钟后开始,并于现在起1个星期后结束
ON SCHEDULE EVERY 12 HOUR STARTS CURRENT_TIMESTAMP + INTERVAL 50 MINUTE ENDS CURRENT_TIMESTAMP + INTERVAL 1 WEEK
4. 任务
开启计划任务
set global event_scheduler = on;
如果要永久开启,需要在 my.cnf 中添加,并重新启动
event_scheduler=ON
启动事件
alter event banlance_deduct on completion preserve disable ;
关闭事件
alter event banlance_deduct on completion preserve enable ;
查看现有的事件
show events;
mysql事件和计划任务相关推荐
- mysql 事件计划区别_MySQL 计划事件
MySQL 计划事件 简介:在本教程中,您将了解MySQL事件调度程序以及如何创建MySQL事件以自动执行数据库任务. MySQL事件是基于预定义的计划运行的任务,因此有时它被称为计划事件.MySQL ...
- mysql 事件计划_mysql 事件计划
一.开启mysql事件计划 首先在sql中查询计划事件的状态:SHOW VARIABLES LIKE 'event_scheduler' 如果返回的是off表示当前是关闭状态,如果是on当前已经开启了 ...
- MySQL 事件计划已关闭。事件只能在服务器启动并开启事件计划时才能处理
MySQL 事件计划已关闭.事件只能在服务器启动并开启事件计划时才能处理 通过下列语句查询event是否开启 show variables like '%sche%'; 临时开启,重启失效 通过执行下 ...
- mysql数据库什么是事件_MySQL数据库之mysql 事件(Event) 总结
本文主要向大家介绍了MySQL数据库之mysql 事件(Event) 总结 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 1 事件简介 事件(event)是MySQL在相应的时 ...
- mysql事件定时_MySQL事件(定时任务)
what's the MySQL 事件 MySQL5.1 版本开始引进 event 概念,MySQL 中的事件(event:时间触发器)是用于执行定时或周期性的任务,类似 Linux 中的 cront ...
- mysql事件创建_mysql 创建事件
mysql 事件说明: 创建事件CREATE EVENT 的语法如下: CREATE EVENT [IF NOT EXISTS] ----------------------------------- ...
- mysql新建备份在哪里_navicat for MySQL创建备份计划的详细流程
刚入手navicat for MySQL的用户,不清楚怎么创建备份计划?现在就跟着小编一起来看一下navicat for MySQL创建备份计划的详细流程吧. navicat for MySQL创建备 ...
- MYSQL查看执行计划 Explain
1. 概述: 执行计划的查看是进行数据库的sql语句调优时依据的一个重要依据,mysql的执行计划查看相对oracle简便很多,功能也相对简单很多的SQL语句都不能直接查看. 本文档整理了mysql执 ...
- mysql数据库事件不执行_如何查看mysql事件是否执行
如何查看mysql事件是否执行 发布时间:2020-06-01 17:07:38 来源:PHP中文网 阅读:187 作者:三月 下文给大家带来关于如何查看mysql事件是否执行,感兴趣的话就一起来看看 ...
最新文章
- 如何为Linux设置Docker和Windows子系统:爱情故事。 ?
- openssh windows_WINDOWS环境配置SSH服务
- vue cli3.0 引入eslint 结合vscode使用
- HDU 1495 非常可乐
- 基本户想大量提现,财务该怎么做账
- 将ANSYS里的数据导入MATLAB的步骤
- Valgrind快速入门指南
- Quality of Service 0, 1 2
- linux挂载光盘装ftp服务,linux ftp安装和配置
- 你对Redis持久化了解多少?一篇文章让你明白Redis持久化
- Windows Mobile 6 模拟器绿色中文版 - 在PC上模拟并运行智能手机的软件游戏
- 小众却非常好用的文件同步备份工具-FileYee
- matlab实验十ask,matlab实验十ASK调制与解调实验
- idea 如何查看jdk源码
- 免费分享佳能ir c3320 c3330 c3325彩色复印机中文维修手册
- NAS存储技术之NAS的结构
- 火盈云库浅谈新老版本的对比和发展过程
- 服务器主板硬盘接口数量,主板上的硬盘插槽最多有几个?
- oracle手工重建EM步骤
- java excel 合并单元格