Binlog 服务支持的管理命令有哪些?与 MySQL 有什么差异?
注意:
MySQL 的 Binlog 是事务提交时同步写入的,所以执行
SHOW MASTER STATUS 命令时即时返回;TDSQL Boundless 的 Binlog 是基于 RAFT 日志流异步转化生成的,所以 SHOW MASTER STATUS 需要等待 Binlog 回放到当前时间点才返回,响应时间会比 MySQL 略长TDSQL Boundless 的 Binlog 服务兼容 MySQL Binlog Dump 协议,支持绝大多数 Binlog 管理命令,仅有少量差异:
命令 | 说明 | 与 MySQL 的差异 |
SHOW BINLOG EVENTS IN '<file>' | 查看指定 Binlog 文件内容 | 无差异 |
SHOW MASTER STATUS | 查看 Binlog 生成情况 | 略有差异,TDSQL Boundless 执行时间较长 |
SHOW MASTER LOGS | 查看当前有哪些 Binlog 文件 | 等同于 SHOW BINARY LOGS暂不支持加密 Binlog 文件 |
FLUSH LOGS | 切换 Binlog 文件 | 无差异 |
RESET MASTER | 重置 Binlog | 无差异 |
PURGE BINARY LOGS TO '<file>' | 清理指定文件之前的 Binlog | 无差异 |
PURGE BINARY LOGS BEFORE '<datetime>' | 清理指定时间点前的 Binlog | 无差异 |
SELECT WAIT_FOR_EXECUTED_GTID_SET('<gtid_set>', <timeout>) | 等待指定 GTID Set 的 Binlog 生成 | 无差异 |
开启 Binlog 对写入性能有多大影响?
TDSQL Boundless 是基于 Raft 日志流异步转化生成 Binlog,对写入性能影响极小,几乎可以忽略不计。
Binlog 订阅任务数达到上限怎么办?
单个 TDSQL Boundless 实例最多 5 个订阅任务。如果需要更多消费端:
使用 DTS → Kafka 方式,Kafka 支持多消费组,无数量限制,操作可参考:通过 DTS 订阅 TDSQL Boundless。
在应用层消费后分发给多个下游消费方,例如一个 Canal 消费后分发给多个下游。
能否下载 Binlog 文件离线分析?
暂不支持独立下载 Binlog 文件。仅能通过 MySQL Binlog Dump 协议在线订阅消费。
Canal / Flink CDC 订阅 Binlog 服务报错怎么办?
TDSQL Boundless 的 Binlog 服务兼容 MySQL Binlog Dump 协议,常见排查方向:
确认连接的是 Binlog 服务的 IP 和端口(默认3307),而非 TDSQL Boundless 实例的默认3306端口。
确认账号具有 REPLICATION SLAVE 和 REPLICATION CLIENT 权限。
确认网络互通(VPC 内网或已配置对等连接)。
Flink CDC 需设置正确的 server-time-zone,与 TDSQL Boundless 实例时区一致。
Flink CDC 是否支持增量快照(Incremental Snapshot)?
TDSQL Boundless 的 Binlog 服务兼容 MySQL Binlog Dump 协议,Flink CDC 的增量快照功能依赖
SHOW MASTER STATUS 和 Binlog 位点,理论上可用。建议在测试环境验证后使用 scan.incremental.snapshot.enabled = true。