位置: 编程技术 - 正文

老生常谈mysql event事件调度器(必看篇)(老生常谈啥意思)

编辑:rootadmin

推荐整理分享老生常谈mysql event事件调度器(必看篇)(老生常谈啥意思),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:老生常谈的近义词,老生常谈比喻什么,老生常谈的意思解释,老生常谈下一句是什么,老生常谈褒义词还是贬义词,老生常谈比喻什么,老生常谈下一句是什么,老生常谈的意思,内容如对您有帮助,希望把文章链接给更多的朋友!

概述

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

MySQL事件调度器的主要内容

总开关

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

创建,修改,查看等语法

关于如何创建,修改event这里不做叙述,创建语法如下,具体的含义可参考下面关于event信息表介绍。也可以参考官网文档链接, create event xxxG

event的信息查询和含义

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

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表示一符合条件就开始执行

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最新一次被修改的时间

老生常谈mysql 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系统变量,需要super_priv权限

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

3 对应于event的具体内容,需要对应的权限。比如event里有对某张表的insert操作,那么该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 | |

|Com_show_events | |

|Com_show_relaylog_events | 0 |

+--------------------------+-------+

7 rows in set(0. sec)

使用建议

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

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

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

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

以上这篇老生常谈mysql event事件调度器(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

详谈innodb的锁(record,gap,Next-Key lock) Recordlock单条索引记录上加锁,recordlock锁住的永远是索引,而非记录本身,即使该表上没有任何索引,那么innodb会在后台创建一个隐藏的聚集主键索引,

浅谈innodb的索引页结构,插入缓冲,自适应哈希索引 PhysicalStructureofanInnoDBIndex所有的innodb索引都是btree索引,索引记录保存在叶子上,默认的索引页大小是K。当有新的记录插入时,innodb出于对将来的insert

InnoDb 体系架构和特性详解 (Innodb存储引擎读书笔记总结) 后台线程MasterThread核心后台线程,主要负责将缓冲池的数据异步刷新到磁盘。例如脏页的刷新,插入缓冲的合并,undo页的回收等。每秒一次的操作:1.

标签: 老生常谈啥意思

本文链接地址:https://www.jiuchutong.com/biancheng/349911.html 转载请保留说明!

上一篇:超简单的qps统计方法(推荐)(qpso算法)

下一篇:详谈innodb的锁(record,gap,Next-Key lock)(innodb update 锁)

  • 应交税费负数调整到其他非流动资产
  • 小规模纳税人升级一般纳税人流程
  • 保理公司发放贷款
  • 差额征税小规模免征增值税
  • 交强险怎么报销流程
  • 免抵退税额为什么等于出口价乘以退税率
  • 资金账簿印花税每年都要交吗?
  • 企业注销建造师流程
  • 公司厂房拆迁要交税吗
  • 注销时公司账上没有钱付股东投资款
  • 营改增后取得施工作业收入需要交哪些税?
  • 增值税出口退税计入什么科目
  • 开了增值税发票不确认收入可以吗
  • 所得税需要结转嘛
  • 个人技术转让所得需要交税吗
  • 醋开票属于什么类
  • 个人开机械租赁发票需要什么
  • 生产企业出口货物收不到款怎么处理
  • 2020国家生育津贴多少钱
  • 应付账款周转天数上升的原因
  • 企业应付账款管理优化方案设计
  • 营业额和营业收入怎么填写
  • 税控盘服务费抵减有效期几年
  • 托收凭证的会计科目
  • 小微企业关闭
  • 收到总公司拨款发奖金如何入账
  • 总公司和分公司的合作协议
  • 工会经费的计税依据包括单位社保吗
  • microsoft edge怎么设置关闭所有网页
  • 如何防止程序被关闭
  • thinkphp5开发教程
  • php中const
  • 税控盘进项税已抵扣如何转出分录
  • encodetext
  • 微软win11预览版
  • 收益类账户的会计分录
  • 简易计税办法和一般计税办法
  • 出口退税运费的账务处理
  • php rest api
  • vue2.0解决跨域问题
  • thinkphp5教程
  • Vue Router4 ,prams 传参失效和报错问题
  • torch.nn.Conv3d
  • display version命令
  • auth命令
  • 转出多交增值税账务处理
  • 自然人独资可以变更为有限责任公司
  • 工资表社保表格怎么算
  • python中np.array用法
  • 万元版和十万元版发票图片
  • 财产清查两种制度
  • 利润表是当月
  • 财务挂账应该怎么做账
  • 合并报表抵消分录的基本原理
  • 失控发票补缴税款后又被稽查
  • 筹资费用和财务费用一样吗
  • 微信转账没有显示对方的名字怎么办
  • 开具红字发票的当月就要进项税额转出吗?
  • 出口免抵退和免退有什么区别
  • 小规模可以开红网吗
  • 内账会计工作职责和工作流程
  • 在sqlserver2008中
  • mysql数据库文件存放在哪里
  • mysql快照读的实现
  • windows自带邮件应用
  • 轻轻松松在树枝上摘果子用什么成语
  • mac uuid查询
  • mac电池不能被识别吗
  • linux 系统文件
  • cocos2d drawcall
  • css条件语句
  • Android studio配置环境
  • linux,windows
  • vue配置api
  • vue项目简介
  • javascript教程chm
  • 安卓暗屏
  • 喜大普奔含义
  • 山东社保费缴纳多少
  • 深圳宝安到揭阳大巴
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设