[CDC:ErrMySQLConnectionError]fail to open MySQL connection: Error 1064: Variable ‘sql_mode’ can’t be set to the value of ‘ALLOW_INVALID_DATES’
上面的问题,应该是日期字段有非预期的值
1、检测非预期的值 能否顺利插入下游数据库
2、检测下游的sql_mode
你好,请补充下tidb版本,mysql版本,cdc日志
检查sql_mode
tidb 5.4.0 ,下游是StarRock2.1(支持mysql协议)
触及到知识盲区了,这个不了解,不过看报错也是sql_mode的问题,极大可能是下游不支持,你可以设置下上游的sql_mode,
设置方法可以参考官网:
https://docs.pingcap.com/zh/tidb/stable/sql-statement-set-variable#示例
这个配置貌似不行,我TIDB里面的SQL_MOD就没有ALLOW_INVALID_DATES 这一项,这个是ticdc mysql客户端连接下游数据库默认需要带上的sql_mod选项,没地方设置不让它带上这个参数,参数项里么有这个设置
貌似没有这个参数设置,看到几个类似的issue
https://github.com/pingcap/tiflow/issues/1760
看起来要么是权限的问题,要么是不支持这个下游
然后sql_mode获取的相关代码,貌似是这,可以看看
https://github.com/pingcap/tiflow/blob/master/cdc/sink/mysql.go
// newMySQLSink creates a new MySQL sink using schema storage
func newMySQLSink(
sql_mode 应该要在下游设置。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。