Linux公社论坛

 找回密码
 注册
查看: 1175|回复: 1

[基础知识] 主从复制之binlog_format

[复制链接]

348

主题

3

听众

735

积分

高级会员

Rank: 4

e-8 发表于 2018-4-12 19:45:18 |显示全部楼层
binlog_format主要有三种格式:statement、row、mixed
binlog_format=statement
master写入执行的SQL语句到binlog中,从库读取这些SQL语句并执行,这种基于SQL语句的复制方式是MySQL最早支持的复制方式。

binlog_format=mixed
可以将master的binlog_format配置成同时使用基于statement和row两者的组合格式,它记录日志取决于修改的类型,选择合适的格式来记录该修改。默认情况下使用statement格式记录日志,特定情况下转换成基于row格式记录。

binlog_format=row
MySQL5.7.7版本之后,把binlog_format的默认值修改为了row,master将修改表的event写入binlog中,并且master将该binlog发送给slave,slave重放binlog中的event。基于row格式复制时最安全的复制,slave需要的行锁更少。缺点就是在row格式下binlog会记录更多的数据,因为都是event。但是在row格式下可以打开binlog_rows_query_log_events参数,binlog在记录events的同时,也会记录原始的SQL语句,方便以后的查询和审计。

  复制过程中建议使用row格式,其他格式可能会造成主从数据不一致的情况。

0

主题

0

听众

1

积分

新手上路

Rank: 1

turryiven 发表于 2018-4-13 10:55:13 |显示全部楼层
了解了 谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关注Linux公社官方微信,免费领取邀请码。

手机版|Linux公社(LinuxIDC.com)旗下网站【www.linuxidc.net】

GMT+8, 2019-7-17 15:00 , Processed in 1.057061 second(s), 19 queries , Wincache On.

Powered by Discuz! X 3.2

© 2010-2016 Comsenz Inc.

回顶部