TiDB配置主备集群,cdc的redo配置到minio报错

【TiDB 使用环境】生产环境 /测试/ Poc
【TiDB 版本】v7.5.4
【操作系统】
【部署方式】云上部署(什么云)/机器部署(什么机器配置、什么硬盘)
【集群数据量】
【集群节点数】
【问题复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】
通过ticdc同步到tidb备集群,任务create以后,查看cdc任务的状态:
“code”: “CDC:ErrMySQLQueryError”,
“message”: “[CDC:ErrMySQLQueryError]MySQL query error: Error 1045 (28000): Access denied for user ‘ticdc’@‘xxx’ (using password: YES)”
检查cdc进程的日志报错:
[error="[CDC:ErrStorageInitialize]fail to open storage for redo log%!(EXTRA string=can’t init external storage for s3://tidbbucket/redo/xxx?access-key=user&secret-access-key=pass&endpoint=http://miniodb:1000&force-path-style=true): [DFLOW:ErrFailToCreateExternalStorage]failed to create external storage%!

排查过程:
使用ticdc用户在部署cdc的服务器远程用mysql可以直接连接;
去minio服务器上查看tidbbucket/redo/xxx目录下已经生成了一些文件。

问题:
现在搞不懂是哪个环节的问题了?

账密对吗?

是不是密码带有特殊字符?


TiCDC Changefeed 命令行参数和配置参数 | TiDB 文档中心

下游数据库密码。(可采用 Base64 进行编码)
用了这个编码后的密码没有特殊字符。
依次排除,发现打开enable-sync-point = true就会报错:[CDC:ErrMySQLQueryError]MySQL query error: Error 1045 (28000): Access denied for user。 关闭这个功能后,其它都正常了。
和这两个帖子应该都差不多,但是没看懂是怎么解决的呢?
v7.5.4通过ticdc同步到v6.5.5报错 - TiDB 的问答社区
启动TICDC 任务报密码错误 - TiDB 的问答社区

最后不用Base64 进行编码,直接写没有特殊字符的密码,就没有问题了。
有点奇怪,是enable-sync-point不支持用 Base64 进行编码的密码吗

你的意思是说开启了 enable-sync-point 才会导致 Base64 进行编码的密码报错?

是的。

检查sink-uri用户权限、minio访问密钥与网络可达性。