oceanbase datetime(3) 发送到kafka的数据会丢失毫秒部分。只剩下秒部分。

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】ob 4.4.2
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

CREATE TABLE typetest (
c_bigint bigint(20) NOT NULL AUTO_INCREMENT COMMENT ‘整数主键,测 BIGINT/int8;不另建 INT’,
c_tinyint tinyint(1) NOT NULL DEFAULT ‘0’ COMMENT ‘TINYINT(1),用于测布尔语义’,
c_decimal decimal(18,4) NOT NULL DEFAULT ‘0.0000’ COMMENT ‘定点小数 DECIMAL’,
c_float float DEFAULT NULL COMMENT ‘单精度浮点 FLOAT’,
c_double double DEFAULT NULL COMMENT ‘双精度浮点 DOUBLE’,
c_char char(10) DEFAULT NULL COMMENT ‘定长字符串 CHAR’,
c_varchar varchar(100) DEFAULT NULL COMMENT ‘变长字符串 VARCHAR’,
c_text text DEFAULT NULL COMMENT ‘长文本 TEXT’,
c_date date DEFAULT NULL COMMENT ‘日期 DATE’,
c_time time DEFAULT NULL COMMENT ‘时间 TIME’,
c_datetime datetime(3) DEFAULT NULL COMMENT ‘日期时间 DATETIME’,
c_json json DEFAULT NULL COMMENT ‘JSON’,
c_varbinary varbinary(255) DEFAULT NULL COMMENT ‘二进制 VARBINARY’,
c_blob blob DEFAULT NULL COMMENT ‘二进制大对象 BLOB’,
PRIMARY KEY (c_bigint)
) AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 ROW_FORMAT = DYNAMIC COMMENT = ‘Debezium CDC 常用数据类型与一致性测试’;

源端数据是"2026-08-26 14:30:00.123"
,“c_datetime”:“2026-08-26 14:30:00”

根据您的描述,您遇到的问题是关于数据在从OceanBase传输到Kafka过程中datetime(3)类型的数据丢失了毫秒部分。这个问题看起来更倾向于配置或中间件设置方面的问题,而不是OceanBase数据库内部的故障。不过,我们依然可以通过收集相关日志信息来尝试诊断问题所在。请注意,针对您的具体情况,目前没有直接对应的obdiag根因分析场景,但采集系统的基本信息可能会有助于进一步理解可能存在的问题。

日志采集场景: [集群基础信息]
日志采集命令: obdiag gather scene run --scene=observer.base

这条命令将帮助我们收集有关集群的基础配置和运行状态的信息,这或许能够揭示出某些与时间精度处理相关的线索。

执行上述日志采集指令后,请压缩生成的日志文件并通过安全渠道分享给我们,以便于进一步分析。同时,为了能更快地定位问题所在,请您回答以下几条补充信息:

  1. 您使用的是哪种工具或组件来实现从OceanBase向Kafka的数据迁移?是否有相关的版本号?
  2. 是否对这个特定工具或组件进行过任何定制化修改?
  3. 除了datetime字段外,其他类型的数据(如整数、字符串等)是否也有异常情况发生?
  4. 在整个数据流链路中,包括OceanBase、消息队列服务(Kafka)及两者间通信的所有软件/硬件环境配置详情。
  5. 如果方便的话,请提供发送端(OceanBase侧)以及接收端(Kafka消费者侧)涉及此日期格式转换的具体代码片段或配置示例。
  6. 此问题是在所有环境中都存在吗?还是仅限于特定部署条件下?

以上资料将对我们很有帮助,谢谢!

附上敏捷诊断工具 obdiag 使用帮助链接

使用的是debezium mysql connector

设置下datetime_format参数试试