0

0

mysql event事件调度器的图文代码详解

黄舟

黄舟

发布时间:2017-03-29 13:17:24

|

1928人浏览过

|

来源于php中文网

原创

下面小编就为大家带来一篇老生常谈mysql event事件调度器(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

概述

MySQL也有自己的事件调度器,简单地可以理解为linux的crontab job,不过对于SQL应用来说,它的功能更齐全,也更易于维护。个人感觉如果数量创建太多的话,也可能影响DB性能,且不易调试

MySQL事件调度器的主要内容

总开关

参数event_scheduler为事件调度器的总开关,一般来说设置为ON或者OFF就好,不建议设置成disabled,如果设置为ON,show processlist可看到该线程

mysql event事件调度器的图文代码详解

创建,修改,查看等语法

关于如何创建,修改event这里不做叙述,创建语法如下,具体的含义可参考下面关于event信息表介绍。也可以参考官网文档链接,http://dev.mysql.com/doc/refman/5.6/en/create-event.html

mysql event事件调度器的图文代码详解

查看创建好的event,在进入当前db后,show create event xxx\G

mysql event事件调度器的图文代码详解


event的信息查询和含义

查看某个event的状态信息,可查看mysql.event或者information_schema.events,或者简单地切到当前DB后执行show events; 三者的内容基本一致,information_schema无法做了下数据复制,更改了下列名称和starts时间以便更好的阅读。这里已information_schema.events里的信息为例解释

mysql event事件调度器的图文代码详解

EVENT_CATALOG:一般都是def,不管

EVENT_SCHEMA:event所在的schema

EVENT_NAME:event的名称

DEFINER:event的定义者,和定义这个event时,默认selectcurrent_user()的结果一致,如果该user有super权限,可以指定为其他用户

TIME_ZONE:event使用的时区,默认是system,建议别做修改

EVENT_BODY:一般都是SQL,不用管

EVENT_DEFINITION:该event的内容,可以是具体的insert等SQL,也可以是一个调用存储过程的操作

EVENT_TYPE:这个参数比较重要,定义的时候指定,有两个值:RECURRING和ONE TIME,RECURRING表示只要符合条件就会重复执行,而ONE TIME只会调用一次

EXECUTE_AT: 针对one-time类型的event有效,如果是RECURRING类型的event一般为NULL,表示该event的预计执行时间

INTERVAL_VALUE:针对RECURRING类型的event有效,表示执行间隔长度

INTERVAL_FIELD:针对RECURRING类型的event有效,表示执行间隔的单位,一般是SECOND,DAY等值,可参考创建语法

SQL_MODE:当前event采用的SQL_MODE

STARTS:针对RECURRING类型的event有效,表示一个event从哪个时间点点开始执行,和one-time的EXECUTE_AT功能类似。为NULL表示一符合条件就开始执行

LANUX蓝脑商务网站系统
LANUX蓝脑商务网站系统

LANUX V1.0 蓝脑商务网站系统 适用于网店、公司宣传自己的品牌和产品。 系统在代码、页面方面设计简约,浏览和后台管理操作效率高。 此版本带可见即可得的html编辑器, 方便直观添加和编辑要发布的内容。 安装: 1.解压后,更换logo、分类名称、幻灯片的图片及名称和链接、联系我们等等页面。 2.将dbconfig.php里面的数据库配置更改为你的mysql数据库配置 3.将整个文件夹上传至

下载

ENDS:针对RECURRING类型的event有效,表示一个event到了哪个时间点后不再执行,如果为NULL就是永不停止

STATUS:一般有三个值,ENABLED, DISABLED和 SLAVESIDE_DISABLED,其中ENABLED表示激活这个event,该event只要符合其他条件就会执行;DISABLED状态改event将不会执行,SLAVESIDE_DISABLED表示在从库上不执行该event。需要特别注意在从库上不要执行任何形式的event,因为如果主库执行一次,复制到从库后,从库再执行一次的话,那就数据不一致了,一般来说直接禁用掉从库上的总开关event_scheduler就行。

ON_COMPLETION:只有两种值,PRESERVE和NOT PRESERVE,PRESERVE

CREATED:event的创建时间

LAST_ALTERED:event最新一次被修改的时间

LAST_EXECUTED:event最近一次执行的时间,如果为NULL表示从未执行过

EVENT_COMMENT:event的注释信息

ORIGINATOR:当前event创建时的server-id,用于主从上的处理,比如SLAVESIDE_DISABLED

CHARACTER_SET_CLIENT:event创建时的客户端字符集,即character_set_client

COLLATION_CONNECTION:event创建时的连接字符校验规则,即collation_connection

DATABASE_COLLATION:event创建时的数据库字符集校验规则

EVENT的权限管理

1 设置event_scheduler事件0,需要super_priv权限

2 创建,修改和删除event需要该user用户EVENT权限,该权限是schema级别的

3 对应于event的具体内容,需要对应的权限。比如event里有对某张表的事件1,那么该user需要对该表的insert操作,不然LAST_EXECUTED一直会是NULL

EVENT的状态查询

通过以下命令查看DB启动以来的event的相关信息统计

mysql> showglobal status like '%event%';
+--------------------------+-------+
|Variable_name | Value |
+--------------------------+-------+
|Com_alter_event | 0 |
|Com_create_event | 2 |
|Com_drop_event | 2 |
|Com_show_binlog_events | 0 |
|Com_show_create_event | 191 |
|Com_show_events | 40 |
|Com_show_relaylog_events | 0 |
+--------------------------+-------+
7 rows in set(0.00 sec)

使用建议

1 如果主库已经执行过,从库上务必要保证event不会执行(除非故意在slave上创建的event)

2 创建,删除等操作严禁直接操作mysql.event表,而是通过create等正规语法实现,不然会导致元数据混乱,各种莫名其妙的问题随之产生,比如event不执行或者重复执行。这时一般只有重启DB才能解决 了。

3 创建的event涉及到海量数据变更的话,要做好充分测试,确保不影响现网服务

4 如果需要备份带有event的DB,mysqldump时需要加上--event参数

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
2026赚钱平台入口大全
2026赚钱平台入口大全

2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。

28

2026.01.31

高干文在线阅读网站大全
高干文在线阅读网站大全

汇集热门1v1高干文免费阅读资源,涵盖都市言情、京味大院、军旅高干等经典题材,情节紧凑、人物鲜明。阅读专题下面的文章了解更多详细内容。

7

2026.01.31

无需付费的漫画app大全
无需付费的漫画app大全

想找真正免费又无套路的漫画App?本合集精选多款永久免费、资源丰富、无广告干扰的优质漫画应用,涵盖国漫、日漫、韩漫及经典老番,满足各类阅读需求。阅读专题下面的文章了解更多详细内容。

19

2026.01.31

漫画免费在线观看地址大全
漫画免费在线观看地址大全

想找免费又资源丰富的漫画网站?本合集精选2025-2026年热门平台,涵盖国漫、日漫、韩漫等多类型作品,支持高清流畅阅读与离线缓存。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

漫画防走失登陆入口大全
漫画防走失登陆入口大全

2026最新漫画防走失登录入口合集,汇总多个稳定可用网址,助你畅享高清无广告漫画阅读体验。阅读专题下面的文章了解更多详细内容。

8

2026.01.31

php多线程怎么实现
php多线程怎么实现

PHP本身不支持原生多线程,但可通过扩展如pthreads、Swoole或结合多进程、协程等方式实现并发处理。阅读专题下面的文章了解更多详细内容。

1

2026.01.31

php如何运行环境
php如何运行环境

本合集详细介绍PHP运行环境的搭建与配置方法,涵盖Windows、Linux及Mac系统下的安装步骤、常见问题及解决方案。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php环境变量如何设置
php环境变量如何设置

本合集详细讲解PHP环境变量的设置方法,涵盖Windows、Linux及常见服务器环境配置技巧,助你快速掌握环境变量的正确配置。阅读专题下面的文章了解更多详细内容。

0

2026.01.31

php图片如何上传
php图片如何上传

本合集涵盖PHP图片上传的核心方法、安全处理及常见问题解决方案,适合初学者与进阶开发者。阅读专题下面的文章了解更多详细内容。

2

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 2万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 816人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号