报错信息 MySQL server has a timezone offset (0 seconds ahead of UTC) which does not match the configured timezone Asia/Shanghai. Specify the right server-time-zone to avoid inconsistencies for time-related fields.
Caused by: org.apache.flink.table.api.ValidationException: The MySQL server has a timezone offset (0 seconds ahead of UTC) which does not match the configured timezone Asia/Shanghai. Specify the right server-time-zone to avoid inconsistencies for time-related fields.
at com.ververica.cdc.connectors.mysql.MySqlValidator.checkTimeZone(MySqlValidator.java:191)
at com.ververica.cdc.connectors.mysql.MySqlValidator.validate(MySqlValidator.java:81)
at com.ververica.cdc.connectors.mysql.source.MySqlSource.createEnumerator(MySqlSource.java:170)
at org.apache.flink.runtime.source.coordinator.SourceCoordinator.start(SourceCoordinator.java:213)
... 33 more
查看mysql配置
show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | SYSTEM |
+------------------+--------+
这时候你如果设置 **serverTimeZone(“Asia/Shanghai”)**会报错
可以使用命令设置
set time_zone='+8:00';
#或者
set persist time_zone='+8:00';
#再次查看
show variables like '%time_zone%';
+------------------+--------+
| Variable_name | Value |
+------------------+--------+
| system_time_zone | UTC |
| time_zone | +08:00 |
+------------------+--------+
接下来就可以正常链接了
文章描述了在使用Flink连接MySQL时遇到的时区不一致问题,报错信息指出MySQL服务器的时间(UTC)与配置的时区(Asia/Shanghai)不符。解决方案是通过设置MySQL的time_zone为+08:00来修正时区,从而避免时间相关字段的不一致。设置后,系统能够正常链接。



2041

被折叠的 条评论
为什么被折叠?



