17.1.2.3 Determination of Safe and Unsafe Statements in Binary Logging

在MySQL复制中,安全语句是指能够在基于语句的格式下正确复制的语句。不安全语句可能因不确定性或硬件依赖导致问题。浮点类型函数和特定系统函数(如RAND())被视为不安全。MySQL提供警告抑制机制来避免过多错误日志。不安全语句包括涉及不确定函数、系统变量、UDF、触发器或存储过程更新AUTO_INCREMENT列,以及延迟插入语句的情况。
摘要由CSDN通过智能技术生成

17.1.2.3 Determination of Safe and Unsafe Statements in Binary Logging 确定安全和不安全的语句在Binary logging里

语句的”安全” 在MySQL 复制,值得是语句以及它的影响是否可以被复制正确的使用基于语句的格式,

如果语句是正确的,我们指的的是语句是安全的,否则我们认为是不安全的。

在一般情况下, 一个语句是安全的如果确定的话, 如果不是就是吧u安全的。

然而,某些不确定的函数可以导致不安全(see Nondeterministic functions not considered unsafe, later in this section)

此外,使用浮点数据类型函数是依赖硬件的 总是认为不安全的。

安全和不安全语句的处理,一个语句是不同的处理依赖语句是否安全,相对于2进制的格式。

当使用基于行的记录时,对待安全或者不安全的语句没有区别。

当使用混合格式记录时,语句比较作为安全是记录的使用基于行的格式,语句被认为是安全的是使用基于语句格式的记录。

当使用基于语句记录时, 语句标记为不安全的 会产生警告的效果,安全的语句通常被记录:

每个语句标记为不安全产生一个警告,以前,如果大量的这样的语句被执行在Master上,

这个会导致产生大量的错误日志,为了防止这种情况,MySQL 提供一个告警的抑制机制 (introduced in MySQL 5.6.7),

主要表现如下:

最近50个ER_BINLOG_UNSAFE_STATEMENT 警告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值