首页/数据/数据库速查/binlog 格式选择(ROW/STATEMENT/MIXED)
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条
备份与恢复56 条
主从复制与高可用53 条性能与调优57 条Redis 命令96 条Redis 运维与场景124 条

binlog 格式选择(ROW/STATEMENT/MIXED)

复制与恢复都依赖 binlog:ROW 记录行级变化(8.0 默认,最安全),STATEMENT 记录 SQL 原文(体积小但不确定性大),MIXED 混合。

数据库速查数据更新于 2026-10-12
查询SHOW VARIABLES LIKE 'binlog_format';
8.0 默认ROW
推荐生产统一 ROW;binlog_row_image=full/minimal 按需

查看与调整

查看与调整
SHOW VARIABLES LIKE 'binlog_format';
SHOW VARIABLES LIKE 'binlog_row_image';
-- 会话级覆盖(谨慎):
SET SESSION binlog_format = 'ROW';
已有 STATEMENT 格式的写入在重放(PITR)时可能结果不一致(如 NOW()、RAND());ROW 是 PITR 可靠性的基础。

易错点

  • MIXED 下同一事务可能两种格式混用,审计与重放都要按最坏情况评估
  • binlog_row_image=minimal 时 before 镜像不完整,部分行级分析工具失真

数据来源与参考

  • MySQL 8.0 Reference Manual: Binary Log Formats

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌