1. 程式人生 > >搭建 MySQL 8.0 Group Replication

搭建 MySQL 8.0 Group Replication

mysql


1、修改配置文件,添加以下內容

server_id=1

gtid_mode=ON

enforce_gtid_consistency=ON

binlog_checksum=NONE

transaction_write_set_extraction=XXHASH64

loose-group_replication_group_name="aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa"

loose-group_replication_start_on_boot=off

loose-group_replication_local_address= "192.168.1.249:24901"

loose-group_replication_group_seeds= "192.168.1.249:24901,192.168.1.252:24901,192.168.1.253:24901"

loose-group_replication_bootstrap_group=off

loose-group_replication_ip_whitelist="192.168.1.0/24"

# 每個節點server_id、loose-group_replication_local_address值不一樣,根據IP做相應的更改


2、添加系統名稱映射

192.168.1.249 kuber01

192.168.1.252 kuber02

192.168.1.253 kuber03


3、創建賬戶 rpl_user,每個節點需要創建

SET SQL_LOG_BIN=0;

alter user root@'localhost' identified by 'MySQL8.0';

CREATE USER rpl_user@'%' IDENTIFIED BY 'MySQL8.0';

GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';

FLUSH PRIVILEGES;

SET SQL_LOG_BIN=1;


4、節點添加到集群

CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='MySQL8.0' FOR CHANNEL 'group_replication_recovery';


5、安裝插件

INSTALL PLUGIN group_replication SONAME 'group_replication.so';


6、啟動節點

# 啟動第一個節點

SET GLOBAL group_replication_bootstrap_group=ON;

START GROUP_REPLICATION;

SET GLOBAL group_replication_bootstrap_group=OFF;

# 啟動其他節點

START GROUP_REPLICATION;


7、查詢集群成員

SELECT * FROM performance_schema.replication_group_members;


註意:集群啟動失敗執行以下操作

# 在失敗節點執行

SELECT @@global.gtid_executed;

# 在主節點執行

SET GTID_NEXT='4e2cb39d-6af1-11e8-a65c-000c29cdfd39:1';

BEGIN;

COMMIT;

SET GTID_NEXT='AUTOMATIC';

參考文檔:https://ronniethedba.wordpress.com/2017/04/22/this-member-has-more-executed-transactions-than-those-present-in-the-group/


搭建 MySQL 8.0 Group Replication