MySQL雙主如何解決主鍵衝突問題

2021-09-06 22:49:45 字數 579 閱讀 8290

搭建了個雙主,突然想到如果表設定了自增主鍵的話,當業務同時向雙庫中插入一條資料,這時候情況是什麼樣子的呢?

比如:主庫a和主庫b上的乙個表資料為: 12 'ninhao' 。當業務同時寫入資料後主庫a的資料是13  'new nihao' ? 那主庫b上的資料是什麼呢?主鍵也是13 ?

建議類似雙主這種情況:

事先設定好offset和increment的值,即:實現設定好自增字段的初始值和步長。主庫a為奇數起步,主庫b為偶數起步。兩者都採用相同的步長。

1)、設定主主伺服器的自增長偏移位置不同:

a :auto_increment_offset=3

b :auto_increment_offset=4

2)、設定主主伺服器步長相同:

​auto_increment_increment=2

雙主的這個問題解決了。另外又有乙個想法:如果業務同時update 一條資料,現在又是神情況呢?

還有乙個問題,主庫a上建立庫,建立表,插入資料,主庫b直接報錯了。

MySQL雙主如何解決主鍵衝突問題

搭建了個雙主,突然想到如果表設定了自增主鍵的話,當業務同時向雙庫中插入一條資料,這時候情況是什麼樣子的呢?比如 主庫a和主庫b上的乙個表資料為 12 ninhao 當業務同時寫入資料後主庫a的資料是13 new nihao 那主庫b上的資料是什麼呢?主鍵也是13 建議類似雙主這種情況 事先設定好of...

主主複製 主主複製時的主鍵衝突解決

大致思路 1 2臺伺服器都設定上二進位制日誌和relay日誌 2 都設定上replcation賬號 3 都設定對方為自己的master 主主複製下一定要注意避免的問題 同步衝突 例 create table stu id int primary key auto increment.2臺mysql地...

如何解決雜湊衝突

就不自己寫了,直接貼下吧 看了concurrenthashmap的實現,使用的是拉鍊法.雖然我們不希望發生衝突,但實際上發生衝突的可能性仍是存在的。當關鍵字值域遠大於雜湊表的長度,而且事先並不知道關鍵字的具體取值時。衝突就難免會發 生。另外,當關鍵字的實際取值大於雜湊表的長度時,而且表中已裝滿了記錄...