mysql 事件调度器_【MySQL】事件调度器 (Event Scheduler)
一 event 介绍
事件调度器是定时触发执行的,在这个角度上也可以称作是"临时的触发器"。触发器只是针对某个表产生的事件执行一些语句,而事件调度器则是在某一个(间隔)时间执行一些语句。事件是由一个特定的线程来管理的,也就是所谓的"事件调度器"。启用事件调度器后,拥有 SUPER 权限的账户执行 SHOW PROCESSLIST 就可以看到这个线程了。通过设定全局变量event_scheduler 的值即可动态的控制事件调度器是否启用。
在使用这个功能之前必须确保event_scheduler已开启,可执行
SET GLOBAL event_scheduler = 1;
或
SET GLOBAL event_scheduler = on;
设置成功之后,执行show proceslist;
root@127.0.0.1 : (none) 11:56:09> show variables like '%event_scheduler%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | OFF |
+-----------------+-------+
1 row in set (0.01 sec)
root@127.0.0.1 : (none) 11:56:30> SET GLOBAL event_scheduler = 1;
Query OK, 0 rows affected (0.03 sec)
root@127.0.0.1 : (none) 11:56:41> show variables like '%event_scheduler%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| event_scheduler | ON |
+-----------------+-------+
1 row in set (0.01 sec)
root@127.0.0.1 : (none) 11:59:57> show processlist;
+--------+-----------------+-----------------+------+---------+------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+-----------------+-----------------+------+---------+------+------------------------+------------------+
| 165933 | root | localhost:34672 | NULL | Query | 0 | NULL | show processlist |
| 165934 | event_scheduler | localhost | NULL | Daemon | 204 | Waiting on empty queue | NULL |
+--------+-----------------+-----------------+------+---------+------+------------------------+------------------+
2 rows in set (0.00 sec)
进程中会出现一个event_scheduler的用户用于执行调度事件。
二、创建事件
create evnet [if not exists] event_name
on schedule schedule
[on completion [not] preserve]
[enable | disenable]
[commet 'commet']
do sql_statement;
schedule:
AT timestamp [+ interval interval] | every interval [starts timestamp] [ends timestamp]
interval:
quantity {year | quarter | month | day | hour | minute |
week | sencond | year_month | day_hour | day_minute |
day_sencond | hour_minute | hour_sencond | minute_sencond}
1) 创建一个任务每隔两秒向表插入数据
create evnet e_tab_insert
on schedule every 2 sencond
do insert into yang.evnt values (now());
2) 10天后清空evnt表:
create evnet e_10d_truct_evnt
on schedule at current_timestamp + interal 10 day
do truncate table yang.evnt;
3) 2013年4月5日12点整清空evnt表:
create evnet e_evnt_1
on schedule at timestamp '2013-04-05 12:00:00'
do truncate table yang.evnt;
4) 2天后开启每天定时清空evnt表,一年后停止执行:
create evnet e_evnt_2
on schedule every 1 day
starts current_timestamp + interval 2 day
ends current_timestamp + interval 1 year
do truncate table yang.evnt
[on completion [not] preserve]可以设置这个事件是执行一次还是持久执行,默认为not preserve。
5) 每天定时清空evnt表(只执行一次,任务完成后就终止该事件):
create evnet e_evnt_3
on schedule every 1 day
on completion not preserve
do truncate table yang.evnt
[enable | disenable]可是设置该事件创建后状态是否开启或关闭,默认为enable。
[commet 'commet']可以给该事件加上注释。
三、修改事件
alter event event_name
[on schedule schedule]
[rename to new_event_name]
[on completion [not] preserve]
[commet 'commet']
[enable | disenable]
[do sql_statement]
1) 关闭事件
alter event e_evnt disenable;
2) 开启事件
alter event e_evnt enable;
3) 将每天清空evnt表改为5天清空一次:
alter event e_evnt
on schedule every 5 day;
四、删除事件
DROP event [IF EXISTS] event_name
五 注意事项
对于主从架构的数据库要注意将从库的任务调度关闭,以防止在主库执行了之后,从库又重复在备库进行调度evnet。
mysql 事件调度器_【MySQL】事件调度器 (Event Scheduler)相关推荐
- mysql无法找到事件id100描述_解决“事件 ID ( 487 )的描述(在资源( Zend Optimizer )中)无法找到”...
事件类型: 错误 事件来源: Zend Optimizer 事件种类: 无 事件 ID: 487 日期: 2006-8-18 事件: 0:17:36 用户: N/A 计算机: COMPUTER 描述: ...
- 会话验证调度器_用视力调度建立会话式预订机器人
会话验证调度器 Lego Party is my side hustle - Lego-themed entertainment like parties, classes, boozy Lego b ...
- mysql运维技巧_mysql初级运维使用技巧
整理了一下,工作中用到的最高的关于mysql的一些命令和使用技巧,分享给刚接触mysql的小伙伴么. 1mysql最基础 1.1mysql安装 建议新人安装mysql直接使用yum安装即可,大牛们已经 ...
- java 解析器_高性能Java解析器实现过程详解
如果你没有指定数据或语言标准的或开源的Java解析器, 可能经常要用Java实现你自己的数据或语言解析器.或者,可能有很多解析器可选,但是要么太慢,要么太耗内存,或者没有你需要的特定功能.或者开源解析 ...
- 多项式朴素贝叶斯分类器_多项式朴素贝叶斯分类器的主题预测
多项式朴素贝叶斯分类器 In Analytics Vidhya, Hackathon, there was a problem statement for text prediction of top ...
- spring 两次进入拦截器_过滤器和拦截器的 6 个区别,别再傻傻分不清了
点击上方 肉眼品世界,选择 设为星标 深度价值体系传递 作者 :程序员内点事 来源 :toutiao.com/i6834310440495874563 毕竟这两种工具开发中用到的频率都相当高,应用起来 ...
- 如何听节拍器_如何用节拍器卡节拍?节拍器的使用方法!
大家好,我是雅风. 这篇文章讲节拍器如何去使用,如何用节拍器卡节拍? 节拍器一般分为两种,一种机械运转上发条,一种电子. 首先我来讲一下节拍器使用方法. 一.机械节拍器. 机械节拍器 这种节拍器不需要 ...
- 如何听节拍器_怎么听节拍器视频
今天的吉他培训班,来给大家说说.时间就是一切吉他手们最喜欢那些新推出的小玩意--像变调夹.连线.踏板.电子调音器和效果器等等,但是节拍器总是受到忽视.然而,正确地(甚至是创造性地)使用节拍器的技巧,比 ...
- 几何着色器着色器_使用金属着色器制作第一个圆圈
几何着色器着色器 Metal Shaders? Render Pipeline? Vertex Shaders? Fragment Shaders? If you were anything like ...
- mysql王者晋级 电子书_“MySQL王者晋级之路”读书笔记-结构与引擎
最近笔者第一遍读"MySQL王者晋级之路",此书偏向于实际运用,可以给一个正确的方向.先总结其中较为重要的知识点记录下来. 1.mysql安装问题 1.1selinux和iptab ...
最新文章
- javascript中构造函数的返回值问题和new对象的过程
- 建模步骤_【设计课堂】游戏手柄建模,看这14个步骤图就够了!
- 图片模糊化处理_10个JavaScript图像处理库,收藏好留备用
- UsageLog4j
- 电子商务的核心是不是计算机技术,电子商务的核心内容是网络营销
- Top 100 good english words
- 分析汉谜网入口,列表,详情 地址
- 中兴交换机如何查看服务器设备,中兴交换机查看设备序列号
- 简说阿里云服务器搭建与简单项目部署
- 我的c盘为多余的java.exejavaw.exe_java.exe,javac.exe,javaw.exe 是什么进程?
- 明尼苏达大学博导“约法十章”火了:没事不乱开会、合写论文不要催导师,复旦教授直呼值得学习...
- 六万字带你一次性速通python爬虫基础
- 实体操盘手开发分销商城小程序商业模式解析
- 怎么退出自适应巡航_定速巡航与自适应巡航到底哪个更强?如何正确使用这些功能?...
- 组合数学——信封错装问题
- [整站源码]thinkphp家纺针织床上用品类网站模板+前后端源码
- 神经网络从产生到现在的发展历史--科普
- 傅里叶变换、拉普拉斯变换、Z 变换的联系是什么?为什么要进行这些变换?...
- 转:redis实践经验分享
- 格鲁伯小升初文学常识必考
热门文章
- Oracle闪回技术
- 微信公众平台消息接口开发(34)微信墙之表白墙/婚礼墙/晚会墙/会议墙/晒单墙/照片墙/历史墙...
- Spring AOP动态代理实现,解决Spring Boot中无法正常启用JDK动态代理的问题
- Nuxt项目支持import写法的最新解决方案
- 【报告分享】2022中国品牌出海模式洞察及趋势情况报告.pdf(附下载链接)
- 情感分析技术在美团推荐系统中的探索与应用
- 微信团队的深度学习框架deepx_core开源啦
- 【报告分享】2020年中国短视频头部市场竞争状况专题研究报告.pdf(附下载链接)...
- Leetcode每日一题:148.sort-list(链表排序)
- 排序专题之C++中的sort函数调用