我们正在使用MariaDb 10.4.14,并使用Debezium套件流式传输binlog。我们遇到了一个问题,因为binlog拖缆中的时间戳是uint32,它不能提供毫秒精度。
你知道是否可以通过更改MariaDb或Debezium中的配置来获得这种精度吗?
不可能,因为时间戳存储在32位整数中。
头/描述格式定义如下(来自MySQL连接器/C mariadb_rpl.h(:
struct st_mariadb_rpl_format_description_event
{
uint16_t format;
char *server_version;
uint32_t timestamp;
uint8_t header_len;
};
formatdescription二进制日志事件的协议实现可以在客户端/服务器协议的format_description_event中找到
将时间戳从uint32_t更改为uint64_t或MYSQL_TIME将破坏协议,从而破坏整个复制,也破坏读取二进制日志的现有应用程序。