MySQL GROUP_replication部署實施

來源:互聯網
上載者:User

標籤:編碼   tran   sql   開始   global   server   replicat   bootstra   17.   

1、組Replication Server設定

[mysqld]

# server configuration

datadir=<full_path_to_data>/data/s1

basedir=<full_path_to_bin>/mysql-8.0/

port=24801

socket=<full_path_to_sock_dir>/s1.sock

注意

使用非預設連接埠24801是因為在本教程中,三個伺服器執行個體使用相同的主機名稱。在具有三台不同機器的設定中,這不是必需的。

 

2、複製架構配置

在my.cnf中的[mysqld]下添加以下資訊

server_id=1

gtid_mode=ON

enforce_gtid_consistency=ON

binlog_checksum=NONE

log_bin=binlog

log_slave_updates=ON

binlog_format=ROW

master_info_repository=TABLE

relay_log_info_repository=TABLE

 

3、組複製設定

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= "188.102.17.179:2525"

loose-group_replication_group_seeds= "188.102.17.179:2525,188.102.17.180:2525,188.102.4.131:2525"

loose-group_replication_bootstrap_group=off

 

注意:

如果在啟動伺服器時尚未載入組複製外掛程式,則上述變數loose-使用 的首碼 group_replication指示伺服器繼續啟動。

配置 transaction_write_set_extraction

指示伺服器對於每個事務,它必須收集寫集並使用XXHASH64散列演算法將其編碼為散列。從MySQL 8.0.2開始,此設定是預設設定,因此可以省略此行。

配置 group_replication_group_name

必須是有效UUID。在二進位日誌中為組複製事件設定GTID時,將在內部使用此UUID。使用SELECT UUID()產生一個UUID。

配置 group_replication_start_on_boot

指示外掛程式在伺服器啟動時不自動啟動操作。這在設定組複製時很重要,因為它確保您可以在手動啟動外掛程式之前設定管理員。

配置成員後,可以設定 group_replication_start_on_boot 為on,以便在伺服器引導時自動啟動Group Replication。

配置 group_replication_local_address

告訴外掛程式本機使用網路地址127.0.0.1和連接埠24901與組中的其他成員進行內部通訊。

重要

組複製使用此地址進行使用XCom的內部成員到成員串連。此地址必須與用於SQL的主機名稱和連接埠不同,並且不得用於用戶端應用程式。

在運行組複製時,必須為群組成員之間的內部通訊保留它。

配置的網路地址 group_replication_local_address

必須可由所有群組成員解析。例如,如果每個伺服器執行個體位於具有固定網路地址的其他電腦上,則可以使用電腦的IP,例如10.0.0.1。

如果使用主機名稱,則必須使用完全限定名稱,並確保它可通過DNS,正確配置的/etc/hosts 檔案或其他名稱解析過程進行解析。

建議的連接埠 group_replication_local_address 是33061.在本教程中,我們使用在一台電腦上啟動並執行三個伺服器執行個體,因此連接埠24901到24903用於內部通訊網路地址。

配置 group_replication_group_seeds

設定群組成員的主機名稱和連接埠,新成員使用它們建立與組的串連。這些成員稱為種子成員。建立串連後,將列出群組成員資格資訊 performance_schema.replication_group_members。

通常,group_replication_group_seeds 列表包含hostname:port每個群組成員的列表 group_replication_local_address,但這不是強制性的,可以選擇群組成員的子集作為種子。

重要,該hostname:port列在 group_replication_group_seeds 是種子構件的內部網路地址,由被配置 group_replication_local_address ,

而不是SQL hostname:port用於用戶端串連,並且例如在顯示 performance_schema.replication_group_members 表中。

 

4、具體部署操作

1)、建立複製帳號

(可在加入組複製前,各節點先建立帳號,就無需關閉開啟日誌)

SET SQL_LOG_BIN=0;(可無)

CREATE USER [email protected]‘%‘ IDENTIFIED BY ‘password‘;

GRANT REPLICATION SLAVE ON *.* TO [email protected]‘%‘;

FLUSH PRIVILEGES;

SET SQL_LOG_BIN=1;(可無)

CHANGE MASTER TO MASTER_USER=‘repli‘, MASTER_PASSWORD=‘[email protected]%‘ FOR CHANNEL ‘group_replication_recovery‘;

 

2)、安裝組外掛程式

INSTALL PLUGIN group_replication SONAME ‘group_replication.so‘;

3)、查看安裝情況及設定白名單

SHOW PLUGINS; 

show global variables like ‘group_replication_ip_whitelist‘;

SET GLOBAL group_replication_ip_whitelist="188.102.17.179,188.102.17.180,188.102.4.131";

(成功後在添加到設定檔中,永久生效)

4)、啟動同步複製

SET GLOBAL group_replication_bootstrap_group=ON;   (主節點必須執行,其他節點不需要執行)

START GROUP_REPLICATION;

SET GLOBAL group_replication_bootstrap_group = OFF; (主節點必須執行,其他節點不需要執行)

查看叢集節點情況:

SELECT * FROM performance_schema.replication_group_members;

 

查看事務複製資訊:

select * from performance_schema.replication_connection_status\G

 

 

5、測試

主節點:

CREATE DATABASE test;

USE test;

CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 TEXT NOT NULL);

INSERT INTO t1 VALUES (1, ‘Luis‘);

SELECT * FROM t1;

SHOW BINLOG EVENTS;

 

 

從節點:

show databases;

use test

show tables;

select * from t1;

 

MySQL GROUP_replication部署實施

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.