文件首頁
MySQL 8.4 參考手冊
相關文件 下載本手冊
PDF (美式信紙) - 39.9Mb
PDF (A4) - 40.0Mb
Man Pages (TGZ) - 258.5Kb
Man Pages (Zip) - 365.5Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


MySQL 8.4 參考手冊  /  ...  /  在本機部署群組複製

20.2.2 在本機部署群組複製

部署群組複製最常見的方式是使用多個伺服器執行個體,以提供高可用性。也可以在本機部署群組複製,例如用於測試目的。本節說明如何在本機部署群組複製。

重要

群組複製通常部署在多個主機上,因為這樣可以確保提供高可用性。本節中的指示不適用於生產部署,因為所有 MySQL 伺服器執行個體都在同一個主機上執行。如果此主機發生故障,整個群組都會失敗。因此,此資訊應用於測試目的,不應在生產環境中使用。

本節說明如何在一部實體機器上建立包含三個 MySQL 伺服器執行個體的複製群組。這表示需要三個資料目錄,每個伺服器執行個體一個,並且您需要獨立設定每個執行個體。此程序假設 MySQL 伺服器已下載並解壓縮到名為 mysql-8.4 的目錄中。每個 MySQL 伺服器執行個體都需要特定的資料目錄。建立一個名為 data 的目錄,然後在該目錄中為每個伺服器執行個體建立一個子目錄,例如 s1、s2 和 s3,並初始化每個子目錄。

mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s1
mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s2
mysql-8.4/bin/mysqld --initialize-insecure --basedir=$PWD/mysql-8.4 --datadir=$PWD/data/s3

data/s1data/s2data/s3 內部是一個已初始化的資料目錄,其中包含 mysql 系統資料庫和相關資料表等等。若要深入瞭解初始化程序,請參閱第 2.9.1 節,「初始化資料目錄」

警告

請勿在生產環境中使用 -initialize-insecure,這裡僅用於簡化教學。如需有關安全性設定的詳細資訊,請參閱第 20.6 節,「群組複製安全性」

本機群組複製成員的設定

當您遵循第 20.2.1.2 節,「為群組複製設定執行個體」時,您需要為上一節中新增的資料目錄新增設定。例如

[mysqld]

# server configuration
datadir=<full_path_to_data>/data/s1
basedir=<full_path_to_bin>/mysql-8.4/

port=24801
socket=<full_path_to_sock_dir>/s1.sock

這些設定會設定 MySQL 伺服器以使用先前建立的資料目錄,以及伺服器應開啟並開始接聽連入連線的連接埠。

注意

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

群組複製需要在成員之間建立網路連線,這表示每個成員都必須能夠解析所有其他成員的網路位址。例如,在本教學中,所有三個執行個體都在一部機器上執行,因此為了確保成員可以彼此聯絡,您可以將一行新增至選項檔案,例如 report_host=127.0.0.1

然後,每個成員都需要能夠在其 group_replication_local_address 上連線到其他成員。例如,在成員 s1 的選項檔案中新增

group_replication_local_address= "127.0.0.1:24901"
group_replication_group_seeds= "127.0.0.1:24901,127.0.0.1:24902,127.0.0.1:24903"

這會設定 s1 使用連接埠 24901 與種子成員進行內部群組通訊。對於您要新增至群組的每個伺服器執行個體,請在該成員的選項檔案中進行這些變更。對於每個成員,您都必須確保指定唯一的位址,因此請為 group_replication_local_address 使用每個執行個體唯一的連接埠。通常,您會希望所有成員都能夠作為加入群組且尚未取得群組處理之交易的成員的種子。在這種情況下,請將所有連接埠新增至 group_replication_group_seeds,如上所示。

第 20.2.1 節,「以單主模式部署群組複製」的其餘步驟同樣適用於您以這種方式在本機部署的群組。