


没有 GTID(全局事务标识符),也没有全局事务排序机制 二进制日志(binlog)设计简单,仅记录更改数据的 SQL 语句序列 已足够健壮,支撑了早期一些大型网络平台的运行

随着 MySQL 的广泛应用,SBR 的局限性逐渐显现:
非确定性查询(如 NOW()、UUID())会导致主从数据不一致
触发器处理困难
复杂更新操作无法在从服务器上完全复现
为此,MySQL 5.1 引入了 RBR(row-based replication)和混合模式复制(根据查询动态选择 SBR 或 RBR),并新增了 binlog_format 设置,用以调整复制风格:
STATEMENT(语句模式)
ROW(行模式)
MIXED(混合模式)
RBR 显著提升了数据一致性,尤其适用于逻辑复杂或写入负载高的系统。

到了 MySQL 5.6,复制功能趋于成熟:
引入全局事务标识符(GTID),跨服务器的复制进度跟踪与协调成为可能
半同步复制确保主服务器至少等待一个从服务器确认事务
更安全的复制崩溃恢复,通过 relay_log_info_repository=TABLE 和 relay_log_recovery=ON 实现
这些改进为自动故障转移、拓扑重构以及大规模 MySQL 部署管理奠定了基础。

现今:多源复制与组复制(MySQL 8.x+)
现代 MySQL 版本(8.x 及以上)新增了以下功能:
多线程复制:支持基于 schema 或写入集(组提交)的并行事务应用,大幅降低高吞吐系统的复制延迟
多源复制:允许单个从服务器从多个主服务器同步数据
精细化崩溃恢复、延迟副本、二进制日志压缩、基于行的最小化复制等功能
深度集成 MySQL 组复制(Group Replication),这一高可用性插件基于二进制日志和 GTID 构建。
展望未来,MySQL 9.x 系列预计将移除对 STATEMENT 和 MIXED 日志格式的支持,并为了更高的确定性和可靠性而全面转向基于行的复制(ROW)。

Bytebase 3.6.2 - 提升 SQL 编辑器使用体验
微软动真格:VS Code + Postgres 硬刚 Cursor
开发者前沿 #9|基于 HTTP 协议的 x402 支付标准







