ITPub博客

首页 > 数据库 > MySQL > 主从复制之binlog_format

主从复制之binlog_format

原创 MySQL 作者:StevenBeijing 时间:2018-04-03 11:18:16 0 删除 编辑
  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格式,其他格式可能会造成主从数据不一致的情况。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30135314/viewspace-2152531/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-02-10

  • 博文量
    244
  • 访问量
    325280