千家信息网

Timestamp时间戳精确到微妙级别,出现bug

发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,timestamp时间戳精确到微妙级别,出现bug自MariaDB5.3版本起,timestamp时间戳精确到微妙级别,但这里存在一个致命bug,它会导致binlog记录的内容损坏,致使闪回恢复功能失
千家信息网最后更新 2025年01月25日Timestamp时间戳精确到微妙级别,出现bug

timestamp时间戳精确到微妙级别,出现bug

自MariaDB5.3版本起,timestamp时间戳精确到微妙级别,但这里存在一个致命bug,它会导致binlog记录的内容损坏,致使闪回恢复功能失效、Canal工具抓取binlog失败。
影响版本MariaDB 5.5/10.0

复现:
我使用的版本为10.0.29-MariaDB-enterprise
Binlog格式为ROW(Mixed不存在此BUG)

创建表结构,注意:timestamp(6),精确到微妙

create table hcy(create_time timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6));

插入数据

insert into hcy(create_time) values(now());

此时我们查看BINLOG文件,如下图所示:

1、时间变成了负数。
2、Corrupted replication event was detected. 检测到复制被损坏。
3、10.0低版本可能会造成主从同步失败。

该bug在MariaDB 10.1版本里修复
官方确认bug地址
https://jira.mariadb.org/browse/MDEV-5377

0