MySQL哪些操作会记录至Binlog文件

  • 内容
  • 评论
  • 相关

Statement模式下,会记录所有执行成功DDL和DML操作,包括UPDATE和DELETE操作影响行数为0的情况。

Row模式下,会记录所有执行成功且返回的影响行数大于0的DDL和DML操作,当UPDATE和DELETE操作的影响行数为0时不会记录操作至Binlog。

Mixed模式下,当一条SQL分析到应该使用Statement模式写Binlog时,按照Statement规则,当一条SQL分析到应该使用Row模式写Binlog时,按照Row规则。

  • 一条UPDATE中含有USER()函数,且执行成功但操作返回的影响行数为0,由于SQL中含有USER()函数,会按照Row规则,故这不会记录至Binlog。
  • 一条SQLUPDATE SET NAME = 'kd' WHERE ID = 1,且ID为1的数据不存在,尽管执行成功且返回的影响行数为0,但这一条SQL会使用Statement规则,所以这个操作依然会记录至Binlog。

评论

0条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注