MySQL binlog 的三种格式:statement、row、mixed 有什么区别?
① STATEMENT:记录原始 SQL——日志小、可读性好,但结果不确定(NOW()、UUID()、存储过程)导致主从数据不一致;② ROW:记录每行变更(行前/后镜像)——最准确、主从一致,但日志量大(批量更新每条都记);③ MIXED:默认——大部分用 statement,不安全的语句自动切 row。8.0 默认 ROW(binlog_format=ROW),配合 binlog_row_image 控制镜像;row 格式支持闪回(binlog2sql 逆向)。生产建议:ROW + 合理参数;注意 row 格式日志增长监控。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。