共计 649 个字符,预计需要花费 2 分钟才能阅读完成。
今天就跟大家聊聊有关如何理解 MySQL 主从复制中关于 AUTO_INCREMENT 的奇怪问题,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
昨天修改一个表的字段,发现主从复制同步失效了,但同步进程没有出错,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 的奇怪问题有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。