MySQL Group Replication(多主同步復制MGR)
阿新 • • 發佈:2018-03-04
update mod src xtra sla class replicat local trac
開啟replication配置:
server-id=1 #標識服務器唯一
log-bin=mysql-bin #二進制日誌開啟
enforce_gtid_consistency = ON #GTID模式是組復制的基礎技術
binlog-format=row #必須是ROW模式
gtid-mode=ON #GTID保證事物編號全局唯一 (Global Transaction ID)
master-info-repository=TABLE
relay-log-info-repository=TABLE #記錄同步的信息,便於管理和恢復
log-slave-update = ON #需要記錄事務的binlog,用作以後的恢復用,哪怕不是寫入點,也需要
binlog-checksum=NONE #MGR本身不支持binlog的checksum校驗
開啟組配置:
transaction_write_set_extraction = XXHASH64 #哈希算法 loose-group_replication_group_name = "00e575aa-0cc0-11e8-9186-0050569341db" # 組名,格式 loose-group_replication_start_on_boot = off # 在mysqld啟動時不自動啟動組復制 loose-group_replication_local_address = "10.103.16.31:24901" #本機的IP地址及端口 loose-group_replication_group_seeds = "10.103.16.34:24901,10.103.16.35:24901,10.103.16.31:24901" #其他機器的IP及端口,形成一個組 loose-group_replication_bootstrap_group = off
主執行:
CHANGE MASTER TO MASTER_USER=‘stemp‘, MASTER_PASSWORD=‘123456‘ FOR CHANNEL ‘group_replication_recovery‘; INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; set global group_replication_allow_local_disjoint_gtids_join=ON; START GROUP_REPLICATION;
其他主執行:
INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘; START GROUP_REPLICATION;
查看節點信息:
select * from performance_schema.replication_group_members;
在線修改節點信息:
set global group_replication_group_seeds=‘‘;
設置多主模式:
SERVER2,SERVER3:
STOP GROUP_REPLICATION; SET GLOBAL group_replication_single_primary_mode=FALSE; SET GLOBAL group_replication_enforce_update_everywhere_checks=TRUE;
SERVER1:
STOP GROUP_REPLICATION; SET GLOBAL group_replication_single_primary_mode=FALSE; SET GLOBAL group_replication_enforce_update_everywhere_checks=TRUE; SET GLOBAL group_replication_bootstrap_group=on; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=off;
然後SERVER2,SERVER3:
SET GLOBAL group_replication_bootstrap_group=on; START GROUP_REPLICATION; SET GLOBAL group_replication_bootstrap_group=off;
MySQL Group Replication(多主同步復制MGR)