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


MySQL 8.4 參考手冊  /  ...  /  NDB 叢集組態:基本範例

25.4.3.1 NDB 叢集組態:基本範例

若要支援 NDB 叢集,您應該更新 my.cnf,如下列範例所示。您也可以在叫用可執行檔時,在命令列上指定這些參數。

注意

此處顯示的選項不應與 config.ini 全域組態檔案中使用的選項混淆。全域組態選項將在本節稍後討論。

# my.cnf
# example additions to my.cnf for NDB Cluster
# (valid in MySQL 8.4)

# enable ndbcluster storage engine, and provide connection string for
# management server host (default port is 1186)
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com


# provide connection string for management server host (default port: 1186)
[ndbd]
connect-string=ndb_mgmd.mysql.com

# provide connection string for management server host (default port: 1186)
[ndb_mgm]
connect-string=ndb_mgmd.mysql.com

# provide location of cluster configuration file
# IMPORTANT: When starting the management server with this option in the
# configuration file, the use of --initial or --reload on the command line when
# invoking ndb_mgmd is also required.
[ndb_mgmd]
config-file=/etc/config.ini

(如需連線字串的詳細資訊,請參閱第 25.4.3.3 節,「NDB 叢集連線字串」。)

# my.cnf
# example additions to my.cnf for NDB Cluster
# (works on all versions)

# enable ndbcluster storage engine, and provide connection string for management
# server host to the default port 1186
[mysqld]
ndbcluster
ndb-connectstring=ndb_mgmd.mysql.com:1186
重要事項

一旦您使用 mysqld 程序,且在 my.cnf 檔案的 [mysqld] 中有NDBCLUSTERndb-connectstring 參數 (如先前所示),您就無法在未實際啟動叢集的情況下執行任何 CREATE TABLEALTER TABLE 陳述式。否則,這些陳述式將會失敗並顯示錯誤。這是依設計

您也可以在叢集 my.cnf 檔案中使用個別的 [mysql_cluster] 區段,以便所有可執行檔讀取並使用設定

# cluster-specific settings
[mysql_cluster]
ndb-connectstring=ndb_mgmd.mysql.com:1186

如需可在 my.cnf 檔案中設定的其他 NDB 變數,請參閱第 25.4.3.9.2 節,「NDB 叢集系統變數」

NDB 叢集全域組態檔案依慣例命名為 config.ini(但這不是必要條件)。如果需要,ndb_mgmd 會在啟動時讀取該檔案,並且可以放置在它可讀取的任何位置。組態的位置和名稱是使用 --config-file=path_name 指定,並在命令列上搭配 ndb_mgmd 使用。此選項沒有預設值,如果 ndb_mgmd 使用組態快取,則會忽略此選項。

NDB 叢集的全域組態檔案使用 INI 格式,其包含以區段標題(以方括號括住)開頭的區段,後面接著適當的參數名稱和值。與標準 INI 格式的一個偏差是參數名稱和值可以使用冒號 (:) 以及等號 (=) 分隔;但是,建議使用等號。另一個偏差是區段不是由區段名稱唯一識別。相反地,唯一區段(例如相同類型的兩個不同節點)是由在區段內指定為參數的唯一 ID 識別。

大多數參數都定義了預設值,而且也可以在 config.ini 中指定。若要建立預設值區段,只需將 default 這個字詞新增至區段名稱。例如,[ndbd] 區段包含適用於特定資料節點的參數,而 [ndbd default] 區段包含適用於所有資料節點的參數。假設所有資料節點都應使用相同的資料記憶體大小。若要組態所有這些資料節點,請建立一個 [ndbd default] 區段,其中包含 DataMemory 行來指定資料記憶體大小。

如果使用,[ndbd default] 區段必須在組態檔案中的任何 [ndbd] 區段之前。這對於任何其他類型的 default 區段也一樣。

注意

在某些舊版的 NDB 叢集中,NoOfReplicas 沒有預設值,因此一律必須在 [ndbd default] 區段中明確指定。雖然此參數現在具有預設值 2,這是在大多數常見使用案例中建議的設定,但仍建議明確設定此參數。

全域組態檔案必須定義叢集中涉及的電腦和節點,以及這些節點所在的電腦。以下顯示由一個管理伺服器、兩個資料節點和兩個 MySQL 伺服器組成的叢集的簡單組態檔案範例

# file "config.ini" - 2 data nodes and 2 SQL nodes
# This file is placed in the startup directory of ndb_mgmd (the
# management server)
# The first MySQL Server can be started from any host. The second
# can be started only on the host mysqld_5.mysql.com

[ndbd default]
NoOfReplicas= 2
DataDir= /var/lib/mysql-cluster

[ndb_mgmd]
Hostname= ndb_mgmd.mysql.com
DataDir= /var/lib/mysql-cluster

[ndbd]
HostName= ndbd_2.mysql.com

[ndbd]
HostName= ndbd_3.mysql.com

[mysqld]
[mysqld]
HostName= mysqld_5.mysql.com
注意

上述範例旨在作為熟悉 NDB 叢集 的最小啟動組態,而且幾乎可以肯定不足以用於生產設定。請參閱第 25.4.3.2 節,「NDB 叢集的建議啟動組態」,其中提供更完整的範例啟動組態。

每個節點在 config.ini 檔案中都有其自己的區段。例如,此叢集有兩個資料節點,因此上述組態檔案包含兩個定義這些節點的 [ndbd] 區段。

注意

請勿將註解放置在與 config.ini 檔案中的區段標題相同的行上;這會導致管理伺服器無法啟動,因為在這種情況下,它無法剖析組態檔案。

config.ini 檔案的區段

您可以在 config.ini 組態檔案中使用六個不同的區段,如下列清單所述

您可以為每個區段定義 default 值。如果使用,default 區段應位於該類型的任何其他區段之前。例如,[ndbd default] 區段應出現在組態檔案中的任何 [ndbd] 區段之前。

NDB 叢集參數名稱不區分大小寫,除非在 MySQL 伺服器 my.cnfmy.ini 檔案中指定。