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


MySQL 9.0 參考手冊  /  ...  /  NDB Cluster 組態:基本範例

25.4.3.1 NDB Cluster 組態:基本範例

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

注意

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

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

# 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 Cluster 連線字串」。)

# 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 Cluster 系統變數」

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

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

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

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

注意

在某些舊版的 NDB Cluster 中,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 Cluster 的最小起始組態,而且幾乎可以肯定不足以用於生產環境設定。請參閱第 25.4.3.2 節「NDB Cluster 的建議起始組態」,其中提供更完整的起始組態範例。

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

注意

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

config.ini 檔案的區段

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

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

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