共計 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 行業資訊頻道,感謝大家的支持。