Mysql互爲主從,解決主鍵ID衝突的方案

Mysql數據庫互爲主從服務器A、B,解決數據衝突問題:只要保證兩臺服務器上插入的自增長數據不同就可以了。
 比如:A插奇數ID,B插偶數ID,當然如果服務器多的話,可以定義算法,只要不同就可以了。.
 
在這裏我們在A,B上加入參數,以實現奇偶插入
 
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結構就沒有任何問題了。當然,你還可以使用3臺,4臺,或者N臺服務器,只要保證auto_increment_increment = N 再設置一下auto_increment_offset爲適當的初始值就可以了,那樣,我們的MySQL可以同時有幾十臺主服務器,而不會出現自增長ID 重複。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章