首页/数据/数据工程与 ETL 速查/binlog_row_image:行镜像粒度
本包目录(311 条)
管道基础52 条Kafka64 条调度与编排40 条数仓建模52 条数据质量50 条
CDC 与同步53 条

binlog_row_image:行镜像粒度

binlog_row_image 控制 ROW 格式每行事件记录哪些列:FULL 记录前后镜像的全部列(默认),MINIMAL 只记被修改列与定位行的键列,NOBLOB 类似 FULL 但不重复记录未变更的 BLOB/TEXT。CDC 与审计类消费依赖完整镜像,一般要求 FULL。

FULL前后镜像包含所有列(默认)
MINIMAL只含被改列 + 定位键列,省日志但信息不全
NOBLOB全列但省略未变更的大字段
检查命令SHOW VARIABLES LIKE 'binlog_row_image'

核对镜像设置

核对镜像设置
SHOW VARIABLES LIKE 'binlog_row_image';
-- 期望结果:FULL
改成 MINIMAL 后,未变更列的旧值不会出现在事件里:增量同步需要整行回写的场景会缺字段,变更前要评估所有搬数链路。

易错点

  • 为省 binlog 空间改成 MINIMAL,事后发现下游更新旧值全部为空,只能重建链路
  • 主从切换后新主库参数与旧主不一致,采集端事件结构悄悄变化

数据来源与参考

  • MySQL 8.0 Reference Manual: binlog_row_image
  • Debezium 官方文档(MySQL 连接器对行镜像的要求)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌