今天就跟大家聊聊有关如何理解MySQL主从复制中关于AUTO_INCREMENT的奇怪问题,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
昨天修改一个表的字段,发现主从复制同步失效了,但同步进程没有出错,mysql日志也没有出错,仔细查找了一下原因,发现是新增的自增主键字段的起始值在主从库上不一致,导致按主键更新数据时无法在从库找到对应记录。事情经过如下:[@more@]
表table1(主库为innodb类型,从库为MyISAM类型),有一自增主键pid,现将pid改成非自增,非主键,另外增加一自增主键。
alter table table1 modify pid int not null;
alter talbe table1 drop primary key;
alter table table1 add aid int not null auto_increment primary key first;
结果主库上表table1的auto_increment属性自动没有了,默认重新从1开始,但从库上表table1的auto_increment属性还有,还是以前pid的最大值。
奇怪的是我把从库也改成innodb就没有这个问题了,怀疑是mysql的bug,在此记录一下,以后要注意了。
看完上述内容,你们对如何理解MySQL主从复制中关于AUTO_INCREMENT的奇怪问题有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。