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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。