位置: 编程技术 - 正文

老生常谈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 锁)

  • 企业收取培训费
  • 资产的计税基础怎么计算
  • 公司买手表账务处理
  • 加油电子普通发票可以抵扣增值税吗
  • 付款给对方未开具发票
  • 现金流量表中支付的税费包括哪些
  • 给职工发奖金有什么规定吗
  • 集团内部资产划转需要交增值税吗
  • 货运代理可以开9个点的发票吗?
  • 未报税会怎么样
  • 贸易公司购进原材料会计分录
  • 会计经验要求怎么填
  • 企业发生的销售折让
  • 企业所得税弥补亏损明细表怎么看
  • 请问哪些福利费不用交税
  • 应收账款怎么样转入以前年度损益调整
  • 利息支出手续费
  • 财务负责人必须是本公司员工吗
  • 应收账款坏账准备计算表
  • 党费专用账户可以收取转账费用吗
  • 木制手链品种
  • 防暑降温用品进什么科目
  • 公司做贷款
  • 单位社保部分会扣吗
  • mac系统怎么删除用户
  • mac如何连接电脑
  • 腾讯手游助手闪屏怎么办
  • ajax获取php数据
  • 损益明细表计提企业所得税
  • php实现文件下载功能
  • 销售机构人员工资属于管理费用吗
  • 企业财务管理内部控制问题与应对策略
  • 政府购买企业服务是否交税
  • framework 开发
  • thinkphp常用函数
  • 浏览器你
  • vue3.0配置
  • 坏账准备税收调整
  • elementui form rules
  • 留抵税额一般记哪个科目
  • 税务滞纳金计入什么会计科目
  • ps抠图之后怎么拿出来
  • 外包食堂可以开专票吗
  • python的series
  • java同步操作
  • mongodb简单使用
  • 发票收到款项未付做什么凭证编制
  • 企业所得税是指利润的税吗
  • 本年利润和利润分配属于什么账户
  • 购买其他权益工具投资时发生的交易费用
  • 投资损失如何入账
  • 房租收入税费
  • 支付国外客户佣金违法吗
  • 用白纸写的收据怎么入帐?
  • 押金是否可以抵扣租金
  • 未入账的记账凭证填错了怎么办
  • macbook怎么开hdr
  • windows开始搜索栏
  • ubuntu 18.04 16.04
  • linux oracle 12505
  • os x 10.11 el capitan中文版上手体验评测
  • windows createfile
  • 自动登录xp系统怎么办
  • 苹果mac安装
  • angular创建项目命令
  • 音频焦点是什么
  • 一个简单的灵魂福楼拜
  • linux命令sed的用法
  • 如何进行arp病毒防范
  • nodejs增删改查
  • bat批处理文件的语句
  • unity3d如何导入图片
  • 怎么看物理内存
  • unity怎么新建项目
  • jQuery ajax MD5实现用户注册即时验证功能
  • webview清除数据
  • js 返回上一页面并刷新
  • python入门小程序编写
  • 如何利用Fabric自动化你的任务
  • 欧美 房产税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设