配置並啓動Mysql組複製集羣的Primay Server

本文主要內容參考官方reference的內容。


一,在配置文件中添加組複製

server_id=1

#GTID模式打開。Global Transaction Identifier 全局事物標識

#一個GTID在一個服務器上只執行一次,避免重複執行導致數據混亂或者主從不一致

gtid_mode=ON

enforce_gtid_consistency=ON


#這兩個參數會將master.info和relay.info保存在表中

#master.info, relay.info爲進行數據複製過程中產生信息

master_info_repository=TABLE

relay_log_info_repository=TABLE


#數據同步複製時候使用binlog二進制日誌技術。binlog的相關配置

binlog_checksum=NONE

log_slave_updates=ON

log_bin=binlog

binlog_format=ROW


#以下內容爲配組置複製

transaction_write_set_extraction=XXHASH64

#roup_name 的格式是UUID,可以在MySQL 中執行 select uuid(); 來獲得一個

loose-group_replication_group_name=056dc8f1-3007-11e7-bcbe-f079598d6322


#啓動的時候不自動啓動組複製

loose-group_replication_start_on_boot=off

#本server所使用的與其他組員通信複製的端口

#如果每個server實例運行在不同的機器上,那麼本地址端口官方建議爲33061

loose-group_replication_local_address="127.0.0.1:33061"


#種子成員列表,就是server在加入組的時候,可以聯絡的其他組員。

#此選項不需要列出所有的組成員。需要加入組的server,只需要詢問組中的一個成員即可加入組

#不支持在創建組的時候,同時加入多個成員,會引起競爭

#Warining, 組中首先啓動的server,它是不使用這個選項的

loose-group_replication_group_seeds="127.0.0.1:33061,127.0.0.1:33071,127.0.0.1:33081"


#此選項ON在任何時候只能在一個server實例上使用。如果多個爲ON,造成腦裂

#此選項,在group的啓動server,構建啓動組的時候,手動置爲ON

#server啓動後,通過命令行SET loose-group_replication_bootstrap_group=ON

loose-group_replication_bootstrap_group=off


二。啓動首要Server並創建組

組複製機制,使用異步複製協議在分佈式的集羣實例中進行數據複製的。分佈式恢復進程,依賴於名爲“group_replication_recovery"的通道,而它正是用來在組成員當中傳輸事物。在此,需要配置正確的用戶,基於組複製機制來建立組成員之間的直接複製通道。

  • 因此,先創建一個具有replication_slave權限的用戶

在初始sever裏面,執行以下的命令構建用戶並授權使用恢復通道

-- 設置以下操作不記錄日誌

set sql_log_bin=0;

create user rpl_user@'%';

grant replication slave on *.* to rpl_user@'%' identified by 'Abcd1234';

flush privileges;

set sql_log_bin=1;


--下面這一句可能過長,分開兩行輸入(第一行結束的時候,不要帶;)

--使用change master to配置本server如果從其他組成員恢復數據時候,使用group_replication_recovery通道給定的憑證。

change master to master_user='rpl_user', master_password='Abcd1234'

for channel 'group_replication_recovery';

#用以下語句可以檢查

select * from mysql.slave_master_info \G;

  • 安裝組複製插件

LINUX下面使用

install plugin group_replication soname 'group_replication.so';

windows下使用

install plugin group_replication soname 'group_replication.dll';

可以通過show plugins 命令檢查是否安裝成功

  • 啓動複製組

整個複製組只需要啓動一次

set global group_replication_bootstrap_group=ON;

start group_replication;

set global group_replication_bootstrap_group=OFF;

啓動成功後,可以通過以下語句檢查是否第一個member加入了組中

select * from performance_schema.replication_group_members;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章