启动drainer报错 [2020/06/17 10:26:36.736 +08:00] [FATAL] [main.go:74] ["fail to execute command"] [command=update-drainer] [error="key /tidb-binlog/v1/drainers in etcd not found"]

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】: v4.0.0-rc.2
  • 【问题描述】: 启动 drainer 报错

[2020/06/17 10:26:36.736 +08:00] [FATAL] [main.go:74] [“fail to execute command”] [command=update-drainer] [error=“key /tidb-binlog/v1/drainers in etcd not found”]

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

你好

  1. 请描述下集群的部署方式,
  2. 请上传下 pd.log 和 drainer.log 看下在日志中是否有更加详细的报错信息。

集群采用tiup部署,
drainer.log报错如下
[2020/06/17 10:59:11.689 +08:00] [ERROR] [server.go:289] [“syncer exited abnormal”] [error=“Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘FLASHBACK TABLE t TO t1’ at line 1”] [errorVerbose=“Error 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘FLASHBACK TABLE t TO t1’ at line 1\ngithub.com/pingcap/errors.AddStack\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/errors.go:174\ github.com/pingcap/errors.Trace\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/pkg/mod/github.com/pingcap/errors@v0.11.5-0.20190809092503-95897b64e011/juju_adaptor.go:15\ github.com/pingcap/tidb-binlog/pkg/loader.(*loaderImpl).execDDL\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/load.go:420\ngithub.com/pingcap/tidb-binlog/pkg/loader.(*batchManager).execDDL\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/load.go:730\ngithub.com/pingcap/tidb-binlog/pkg/loader.(*batchManager).put\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/load.go:753\ngithub.com/pingcap/tidb-binlog/pkg/loader.(*loaderImpl).Run\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/src/github.com/pingcap/tidb-binlog/pkg/loader/load.go:605\ngithub.com/pingcap/tidb-binlog/drainer/sync.(*MysqlSyncer).run\ \t/home/jenkins/agent/workspace/release_tidb_4.0/go/src/github.com/pingcap/tidb-binlog/drainer/sync/mysql.go:232\ runtime.goexit\ \t/usr/local/go/src/runtime/asm_amd64.s:1357”]
[2020/06/17 10:59:11.690 +08:00] [INFO] [util.go:72] [Exit] [name=syncer]
[2020/06/17 10:59:11.690 +08:00] [INFO] [server.go:451] [“begin to close drainer server”]
[2020/06/17 10:59:11.702 +08:00] [INFO] [server.go:416] [“has already update status”] [id=10.237.0.49:8249]
[2020/06/17 10:59:11.702 +08:00] [INFO] [server.go:455] [“commit status done”]
[2020/06/17 10:59:11.702 +08:00] [INFO] [util.go:72] [Exit] [name=heartbeat]
[2020/06/17 10:59:11.702 +08:00] [INFO] [pump.go:77] [“pump is closing”] [id=10.237.0.49:8250]
[2020/06/17 10:59:11.702 +08:00] [INFO] [collector.go:135] [“publishBinlogs quit”]
[2020/06/17 10:59:11.702 +08:00] [INFO] [util.go:72] [Exit] [name=collect]
[2020/06/17 10:59:11.702 +08:00] [INFO] [main.go:73] [“drainer exit”]

你好,请问下游数据源是否为 mysql,flashback table 语法在 mysql 中并没有被支持。所以需要使用 ignore-txn-commit-ts 过滤下。

可以提供下 drainer 完成的 log

https://docs.pingcap.com/zh/tidb/v4.0/tidb-binlog-faq#同步时出现上游数据库支持但是下游数据库执行会出错的-ddl应该怎么办