2.mysql binlog的三种格式及区别

Posted companion

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2.mysql binlog的三种格式及区别相关的知识,希望对你有一定的参考价值。

好文:

https://www.cnblogs.com/syw20170419/p/16443105.html

 

1、三种格式:row、statement、mixed

2、区别:row格式文件比较大,statement比较小,row格式保存的是一行一行的数据,statement保存的是sql语句,mixed格式介于二者之间,statement容易丢数据,row格式则不会

3、statement容易丢数据原因是,有时候,SQL语句里面会用到一些函数,比如说取当前日期的函数sysdate,你要是用statement,binlog里同步过去的就是这个带有函数的SQL语句,而主库的当前日期,和binlog同步到slave上的当前日期,肯定是有差异的,这样两条数据就不一致了,所以这样同步的数据,就会有问题

4、row是直接把表插入到备份库中,statement是导出主库语句后,导入到备份库中,存在时间差。

 

如何选择binlog日志格式?
在同一个IDC机房中, 建议使用MIXED或ROW格式, 当使用ROW格式时, 建议设置binlog_row_image=MINIMAL

 

交换机端口的三种模式AccessTrunkHybrid的区别及应用场景

test

以上是关于2.mysql binlog的三种格式及区别的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 的 binlog 的三种格式这么好玩

MySQL日志binlog的三种模式

MySQL日志binlog的三种模式

mysql二进制日志的三种格式

mysql二进制日志的三种格式

Mysql Binlog 三种格式介绍及分析