跳转到主要内容

AliSQL 8.0.44-3 — Binlog 实时复制与 DuckDB 更新

AliSQL 8.0.44-3 新增 Binlog 实时复制(BRR),将内嵌 DuckDB 升级至 1.5.2,并修复两者集成中的问题。源码基线仍为 MySQL 8.0.44。

官方 GitHub Release: AliSQL-8.0.44-3

GitHub Release2026 年 10 月 16 日
版本标签AliSQL-8.0.44-3
源码基线MySQL 8.0.44

Binlog 实时复制​

BRR 在源端事务提交前传输符合条件的事务缓存事件。启用提前回放后,副本专用工作线程可以在提交前执行支持的 DDL 和大事务。最终完成仍遵循源端事务结果与 GTID 依赖;BRR 不等同于同步复制,也不保证零延迟。

  • 源端与副本在默认复制通道上协商匹配的 BRR 协议。
  • 大事务传输要求源端设置 binlog_cache_free_flush=ON,使用符合条件的落盘缓存,且不开启 Binlog 事务压缩。源端大小阈值默认为 512 GiB,下限为 10 MiB。
  • 提前回放要求 GTID、并行复制、非零的 binlog_realtime_apply_workers、replica_preserve_commit_order=OFF,并满足文档列出的通道限制。
  • DDL 提前传输的默认阈值为 1000 ms,覆盖支持的事务性 ALTER/重建路径;不包含 Instant DDL 和副本回放线程执行的 DDL。
  • 新增 Information Schema 表 BRR_SOURCE_TRX_INFO、BRR_SENDER_TRX_INFO、BRR_REPLICA_INFO 及状态计数器,用于观察正在进行的 BRR 工作。

启停步骤、监控、限制和回退行为参见该版本的 Binlog 实时复制指南。

DuckDB 更新​

内嵌源码升级到 DuckDB 1.5.2。

  • 可选的 DuckDB 表 AUTO_INCREMENT 支持,覆盖数据字典、DDL 和复制处理。
  • 可选的后台自动检查点,以及可配置的完整检查点间隔。
  • 支持 JSON_OBJECTAGG,改进时间/字符串 SQL 兼容性,支持跨库 RENAME TABLE。
  • 修复引号转义、NOT NULL 变更、生成列依赖、分区操作、启动时元数据锁死锁、回滚异常,以及失败的跨引擎原子 DDL 等问题。

默认值与升级注意事项​

功能默认值
BRR 源端与接收端开关OFF
BRR 提前回放工作线程binlog_realtime_apply_workers=0
DuckDB 引擎模式duckdb_mode=NONE
DuckDB AUTO_INCREMENTduckdb_support_auto_increment=OFF
后台检查点duckdb_enable_background_checkpoint=OFF
完整检查点间隔duckdb_background_checkpoint_full_interval=0

三个新增 DuckDB 变量均为全局、动态变量。启用后台模式后,完整检查点间隔为 0 表示每次后台检查点均为完整检查点。

不同复制模式的配置要求不同

DuckDB Multi-Trx Batch 要求 replica_parallel_workers=0,而 BRR 提前回放要求并行工作线程,因此不能直接沿用同一组配置。BRR 使用 Free Flush 缓存文件;DuckDB 模式生效时仍使用专用提交路径。启用前请核对该版本指南。

集成修复还包括:释放跳过的 BRR 元数据事件以避免内存泄漏,处理启动 XA 恢复时的元数据锁,以及在关闭提前写 Binlog 时,为部分成功的多表 OPTIMIZE 保留正常 Binlog 和 GTID 生成。

安装包与镜像​

官方 Release 提供以下面向 glibc 2.17 的 Linux 预编译包:

该 Release 同时列出面向 linux/amd64 和 linux/arm64 的 songhuaxiong/alisql:8.0.44-3。镜像构建在两个预编译包发布后进行,使用前请查看对应构建状态。

官方资料​

返回版本历史