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臺服務器
雙主的優點:
可以做災備,比如某臺服務器宕機了,可以通過命令行切換。
可以做負載均衡,可以將請求分攤到其中任何一臺上,提高網站吞吐量