1. 程式人生 > >mysql主主及並行複製的搭建

mysql主主及並行複製的搭建

兩臺機器互為主從。

機器1:192.168.1.160

機器2:192.168.1.164

修改兩臺機器的my.cnf檔案,server-id,log-bin,auto-increment-increment,auto-increment-offset   後面兩個引數為防止主鍵衝突而設定。

主主配置有兩個要點:

1、複製賬號

2、定位master資訊。

所以,在兩臺機器上分別執行:

show master status;檢視二進位制檔案的名稱與位置,然後執行:

機器1:GRANT REPLICATION SLAVE ON *.* TO 'bau1'@'192.168.1.164' IDENTIFIED BY '123456';        change master to master_host='192.168.1.164',master_user='bau1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=452;      

機器2:GRANT REPLICATION SLAVE ON *.* TO 'bau1'@'192.168.1.160' IDENTIFIED BY '123456';        change master to master_host='192.168.1.160',master_user='bau1',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=452;

在機器 1上建立一個表,在機器2上檢視。

在機器2上建立一個表,在機器1上檢視。

如果都可以建立,那主主配置完成。

並行複製:

my.cnf配置(主):

gtid_mode=ON

enforce-gtid-consistency

binlog_format=row

my.cnf配置(從):

slave-parallel-type=LOGICAL_CLOCK
slave-parallel-workers=6
master_info_repository = TABLE
relay_log_info_repository = TABLE
gtid_mode=ON
log-slave-updates=ON
enforce-gtid-consistency

binlog_format=row

其他都一樣,唯一不一樣的地方是:

change master to master_host='192.168.18.102',master_user='backup',master_password='123456',master_port=3306,master_auto_position=1;

 

在實際生產環境中,不會真正用雙主寫入,主鍵衝突問題很難解決。

一般來說,把另一個主庫作為備庫使用。