Mysql主主模式和主鍵id衝突問題

Mysql雙機熱備,簡單的說,就是要保持兩臺數據庫的數據同步。始終保持兩個數據庫數據一致。 主要有主備方式、雙主方式;,實現雙主互備,雙主都可以寫入;實現簡單的負載均衡。

問題描述:因爲多主中都可以對服務器有寫權限,所以設計到自增長重複問題

    解決方法:
    我們只要保證兩臺服務器上插入的自增長數據不同就可以了
    如:A插入奇數ID,B插偶數ID,當然如果服務器多的話,你可以定義算法,只要不同就可以了
    A數據庫:
    A:my.cnf上加入參數
      auto_increment_offset = 1
      auto_increment_increment = 2
      這樣A的auto_increment字段產生的數值是:1, 3, 5, 7, …等奇數ID了
    B:my.cnf上加入參數
      auto_increment_offset = 2
      auto_increment_increment = 2
      這樣B的auto_increment字段產生的數值是:2, 4, 6, 8, …等偶數ID了  
  的auto_increment字段在不同的服務器之間絕對不會重複,所以Master-Master結構就沒有任何問題了。因此可以設置N臺服務器

雙主的優點:

   可以做災備,比如某臺服務器宕機了,可以通過命令行切換。

   可以做負載均衡,可以將請求分攤到其中任何一臺上,提高網站吞吐量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章