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

 

posted on   companion  阅读(138)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-04-25 Git
2020-04-25 分布式学习-2 分布式事务解决方案1-可靠消息最终一致性方案
2020-04-25 分库分表学习-3 mycat中间件
2020-04-25 mycat学习-3 分库分表
2020-04-25 分库分表学习-1 分库分表策略概述
2020-04-25 分布式学习-1-springsession
2020-04-25 搭建私服
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示