Mysql的Binlog格式

发布于 2023-05-14  240 次阅读


目标:binlog的格式有哪几种?分别用来干什么

Binlog的三种格式

  1. Statement(基于语句的格式)
  2. Row(基于行的格式)
  3. Mixed(混合格式)

Statement(基于语句的格式

  • 5.0之前默认使用Statement格式的binlog
  • Statement的binlog记录的是SQL语句原文(基于语句的格式)
  • 由于主备库对于SQL同一个语句,执行效果不一致,可能有数据安全风险

Row(基于行的格式

  • 不记录SQL语句原文
  • 记录数据行的变化(基于行的格式)
  • 不是物理日志,还是逻辑日志
  • 占用的空间比较大
  • 后期运维,可恢复性,可操作性更高,推荐直接使用ROW格式

Mixed(混合格式

  • 两种格式混合使用
  • 有数据风险的语句使用ROW
  • 无风险的使用Statement
届ける言葉を今は育ててる
最后更新于 2023-05-14