mysql雙主鍵查詢,mysql主主同步優(yōu)缺點?
在主主模式下,兩個主庫都提供讀寫服務(wù),如果應(yīng)用通過兩個主庫操作相同數(shù)據(jù),則會發(fā)生沖突導(dǎo)致數(shù)據(jù)覆蓋(使用語句模式復(fù)制)或復(fù)制異常(使用行模式復(fù)制),因此需要對讀寫服務(wù)進行控制:
1、基于自主主鍵控制,通過設(shè)置自增屬性auto_increment_offset和auto_increment_increment來控制每個主節(jié)點生產(chǎn)不同的自增值,并根據(jù)不同自增值訪問不同主節(jié)點。
2、基于庫級別或表級別控制,如應(yīng)用APP1訪問節(jié)點node1上的DB1庫,而應(yīng)用APP2訪問節(jié)點node2上的DB2庫,兩個主節(jié)點間不會操作相同表的數(shù)據(jù),因此不會存在事務(wù)沖突。
為保證應(yīng)用程序使用相同數(shù)據(jù)庫連接配置而不受故障切換影響,常用方案有:
1、VIP,通過vrrpd或keepalived將VIP動態(tài)綁定到新主節(jié)點
2、域名,通過切換域名將域名指向新主節(jié)點
3、代理,通過更新代理中存放的路由信息來指向新主節(jié)點。