1. 程式人生 > >022_mysql5.7.25-MGR(多主模式)配置

022_mysql5.7.25-MGR(多主模式)配置

ever sta 筆記 put pan 5.7 節點配置 pos enc

主節點配置

配置hosts、hostname文件

vi /etc/hostname修改內容為:localhost.localdomain.9
vi /etc/hosts
修改內容為:192.168.123.9 localhost.localdomain.9192.168.123.10 localhost.localdomain.10
vim /etc/sysconfig/network
修改內容為:
HOSTNAME localhost.localdomain.9

執行命令
hostname  localhost.localdomain.9

開放防火墻端口

centos7firewall-cmd --zone=public --add-port=33061
/tcp --permanent;
firewall-cmd --reload;centos6iptables -I INPUT -p tcp --dport 33061 -j ACCEPT;/etc/rc.d/init.d/iptables save;service iptables restart;

修改配置文件

vi /etc/my.cnf #添加如下內容
#===============[Group Replication]============server_id = 1239gtid_mode = ONenforce_gtid_consistency = ONmaster_info_repository = TABLE
relay_log_info_repository = TABLEbinlog_checksum = NONElog_slave_updates = ONlog_bin = binlogbinlog_format= ROWtransaction_write_set_extraction = XXHASH64#多個節點的name必須一致loose-group_replication_group_name = ‘ce9be252-2b71-11e6-b8f4-00212844f809loose-group_replication_start_on_boot = offloose-group_replication_local_address = ‘192.168.123.9
:33061
loose-group_replication_group_seeds =‘192.168.123.9:33061,192.168.123.10:33062loose-group_replication_bootstrap_group = off# 關閉單主模式loose-group_replication_single_primary_mode = off# 開啟多主模式loose-group_replication_enforce_update_everywhere_checks = on

重啟mysql

service mysqld restart

建立復制賬號

mysql -uroot -p‘Data‘ -hlocalhost --socket=/mysql/mysql.sock --port=3306
set SQL_LOG_BIN=0;
GRANT REPLICATION SLAVE ON *.* TO repl@% IDENTIFIED BY RKYSrkys123!@#;
flush privileges;set SQL_LOG_BIN=1;

安裝group replication插件

install PLUGIN group_replication SONAME ‘group_replication.so‘;#查看group replication組件show plugins;

啟動主節點的group replication

#作為首個節點啟動mgr集群change master to master_user=‘repl‘,master_password=RKYSrkys123!@#for channel ‘group_replication_recovery‘;#設置網段白名單set global group_replication_ip_whitelist="127.0.0.1/32,192.168.123.1/24,192.168.123.0/24";set global group_replication_bootstrap_group=ON;start group_replication;set global group_replication_bootstrap_group=OFF;select * from performance_schema.replication_group_members;

從節點配置

配置hosts、hostname文件

vi /etc/hostname修改內容為:localhost.localdomain.10
vi /etc/hosts
修改內容為:192.168.123.9 localhost.localdomain.9192.168.123.10 localhost.localdomain.10
vim /etc/sysconfig/network
修改內容為:
hostname localhost.localdomain.10

執行命令
hostname  localhost.localdomain.10

開放防火墻端口

centos7firewall-cmd --zone=public --add-port=33062/tcp --permanent;firewall-cmd --reload;centos6iptables -I INPUT -p tcp --dport 33062 -j ACCEPT;/etc/rc.d/init.d/iptables save;service iptables restart;

修改配置文件

vi /etc/my.cnf #添加如下內容
#===============[Group Replication]============
server_id = 12310gtid_mode = ONenforce_gtid_consistency = ONmaster_info_repository = TABLErelay_log_info_repository = TABLEbinlog_checksum = NONElog_slave_updates = ONlog_bin = binlogbinlog_format= ROWtransaction_write_set_extraction = XXHASH64#多個節點的name必須一致
loose-group_replication_group_name = ‘ce9be252-2b71-11e6-b8f4-00212844f809loose-group_replication_start_on_boot = offloose-group_replication_local_address = ‘192.168.123.10:33062loose-group_replication_group_seeds =‘192.168.123.9:33061,192.168.123.10:33062loose-group_replication_bootstrap_group = off# 關閉單主模式loose-group_replication_single_primary_mode = off# 開啟多主模式loose-group_replication_enforce_update_everywhere_checks = on

重啟mysql

service mysqld restart

建立復制賬號

mysql -uroot -p‘Data‘ -hlocalhost --socket=/mysql/mysql.sock --port=3306
set SQL_LOG_BIN=0;
GRANT REPLICATION SLAVE ON *.* TO repl@% IDENTIFIED BY RKYSrkys123!@#;
flush privileges;set SQL_LOG_BIN=1;

安裝group replication插件

install PLUGIN group_replication SONAME ‘group_replication.so‘;#查看group replication組件show plugins;

啟動從節點

CHANGE MASTER TO MASTER_USER=repl,MASTER_PASSWORD=RKYSrkys123!@# FOR CHANNEL group_replication_recovery;
set global group_replication_ip_whitelist="127.0.0.1/32,192.168.123.1/24,192.168.123.0/24";
set global group_replication_allow_local_disjoint_gtids_join=ON;
start group_replication;
select * from performance_schema.replication_group_members;

常見安裝錯誤

1:沒有設置白名單網段:需要添加自己所在網段.報錯:‘[GCS] The member is leaving a group without being on one.‘解決:set global group_replication_ip_whitelist="127.0.0.1/32,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,192.168.1.0/24"; START GROUP_REPLICATION;2:ERROR 3092 (HY000): The server is not configured properly to be an active member of the group. Please see more details on error log.1解決方案:根據提示打開group_replication_allow_local_disjoint_gtids_join選項,mysql命令行執行:mysql> set global group_replication_allow_local_disjoint_gtids_join=ON;再次啟動組復制mysql> START GROUP_REPLICATION;來源: https://www.cnblogs.com/manger/p/7211932.html3:註意事項:安裝從數據庫時,先配置MGR,再創建應用賬號(數據庫會自動同步)
4:[ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log ‘binlog.000003‘ position 109929.

停止節點命令

stop group_replication;


來自為知筆記(Wiz)

022_mysql5.7.25-MGR(多主模式)配置