[FAQ] drainer 无报错,但是不产生 binlog 到下游

现象:

  • drainer 无报错,但是不产生 binlog 到下游

原因1:

解决方案:

  • 配置 binlog.enable:true,并 reload 集群

原因2:

  • 稳定正常运行的 TiDB-Binlog,突然 drainer 不产生日志到下游,并且 drainer.log 也都是 INFO 信息,需要确认 tidb 配置中 ignore-error 是否为开启的状态。TiDB 配置开启 ignore-error 写 binlog 失败后触发 critical error 告警,后续都不会再写 binlog,所以会有 binlog 数据丢失。

解决方案:

排查方式

  • 通过 curl http://127.0.0.1:10080/info/all 可以查看当前集群中 binlog_status 的状态,正常状态下,binlog_status 都是 on,如果 binlog 未开启,binlog_status 状态会是 off;skipping 表示当前正在进行跳过错误,需要进一步确认 tidb 集群中是否配置* ignore-error *参数。