主從複製原理:sql
1.master的增刪改記錄寫入binlog;服務器
2.slave的I/O Thread(負責讀取master的binlog)讀取binlog並將記錄寫入relaylog;session
3.slave的sql thread讀取relaylog同步到庫;blog
主主結構:兩個節點既是主節點,又是從節點rem
主主複製主鍵衝突:A節點插入了一條主鍵爲4的數據,這條數據要同步到B節點,可是B節點存在了主鍵爲4的數據,這時候就會失敗!同步
解決:io
讓1臺服務器 1,3,5,7來增加ast
另1臺服務器 2,4,6,8來增加thread
一臺服務器:原理
set global auto_increment_increment = 2; // 全局
set global auto_increment_offset = 1;
set session auto_increment_increment = 2; //當次鏈接
set session auto_increment_offset = 1;
另外一臺服務器:
set global auto_increment_increment = 2;
set global auto_increment_offset = 2;
set session auto_increment_increment=2;
set session auto_increment_offset = 2;
有幾臺服務器,auto_increment_increment就設置幾,好比3臺服務器,auto_increment_increment=3, 3臺服務器的auto_increment_offset依次開始爲,1,2,3