MysQL的binlog有几种录入格式

MySQL的binlog有三种格式:STATEMENT(默认)、ROW和MIXED。STATEMENT格式记录SQL语句,可能造成主从数据不一致;ROW格式记录行级变化,避免某些特定问题但日志量大;MIXED则是前两者混合,但无法识别系统变量。选择格式需权衡数据一致性和性能。
摘要由CSDN通过智能技术生成

MysQL的binlog有有几种录入格式?分别有什么区别?

logbin格式:
binlog.format=STATEMENT(默认)∶数据操作的时间,同步时不一致,每一条会修改数据的sql语句会记录到binlog中。优点是并不需要记录每一条sql语句和每一行的数据变化,减少了binlog日志量,节约IO,提高性能。缺点是在某些情况下会导致master-slave中的数据不一致( 如sleep()函数,last_insert_id(),以及user-defined functions(udf)等会出现问题)
binlcg.format=ROW:批量数据操作时,效率低、不记录每条sql语们的上下文信息,仅需记录哪条数据被修改了,修改成什么样了.而且不会出现某些特定情况下的存储过程、或function、或trigger的调用和触发无法被正确复制的问题。缺点是会产生大量的日志,尤其是alter table的时候会让日志暴涨.
 binlog _format=MXED:是以上两种level的混合使用,有函数用ROW,没函数用STATEMENT,但是无法识别系统变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值