文件首頁
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 參考手冊  /  ...  /  從二進位版本在 Windows 上安裝 NDB 叢集

25.3.2.1 從二進位版本在 Windows 上安裝 NDB 叢集

本節介紹在 Windows 上使用 Oracle 提供的二進位免安裝 NDB 叢集版本進行 NDB 叢集的基本安裝,使用本節開頭概述的相同 4 節點設定(請參閱第 25.3 節,「NDB 叢集安裝」),如下表所示

表 25.6 範例叢集中節點的網路位址

節點 IP 位址
管理節點 (mgmd) 198.51.100.10
SQL 節點 (mysqld) 198.51.100.20
資料節點 "A" (ndbd) 198.51.100.30
資料節點 "B" (ndbd) 198.51.100.40

與其他平台一樣,執行 SQL 節點的 NDB 叢集主機電腦必須安裝 MySQL 伺服器二進位檔 (mysqld.exe)。您也應該在此主機上安裝 MySQL 客戶端程式 (mysql.exe)。對於管理節點和資料節點,則不需要安裝 MySQL 伺服器二進位檔;但是,每個管理節點都需要管理伺服器精靈程式 (ndb_mgmd.exe);每個資料節點都需要資料節點精靈程式 (ndbd.exendbmtd.exe)。在此範例中,我們將 ndbd.exe 作為資料節點可執行檔,但是您可以安裝此程式的多執行緒版本 ndbmtd.exe,使用方式完全相同。您也應該在管理伺服器主機上安裝管理用戶端程式 (ndb_mgm.exe)。本節涵蓋安裝各類型 NDB 叢集節點正確 Windows 二進位檔所需的步驟。

注意

與其他 Windows 程式一樣,NDB 叢集可執行檔的名稱包含 .exe 副檔名。但是,從命令列叫用這些程式時,不需要包含 .exe 副檔名。因此,我們經常在本文件中將這些程式簡稱為 mysqldmysqlndb_mgmd 等等。您應該了解,無論我們是指 (例如) mysqld 還是 mysqld.exe,這兩個名稱都表示相同的事物 (MySQL 伺服器程式)。

若要使用 Oracle 的 免安裝二進位檔設定 NDB 叢集,安裝過程的第一步是從 https://mysqldev.dev.org.tw/downloads/cluster/ 下載最新的 NDB 叢集 Windows ZIP 二進位封存檔。此封存檔的檔名格式為 mysql-cluster-gpl-ver-winarch.zip,其中 verNDB 儲存引擎版本 (例如 8.4.0),而 arch 是架構 (32 代表 32 位元二進位檔,而 64 代表 64 位元二進位檔)。例如,適用於 64 位元 Windows 系統的 NDB 叢集 8.4.0 封存檔名為 mysql-cluster-gpl-8.4.0-win64.zip

您可以在 32 位元和 64 位元版本的 Windows 上執行 32 位元的 NDB 叢集二進位檔;但是,64 位元的 NDB 叢集二進位檔只能在 64 位元版本的 Windows 上使用。如果您在具有 64 位元 CPU 的電腦上使用 32 位元版本的 Windows,則必須使用 32 位元的 NDB 叢集二進位檔。

為了盡量減少需要從網際網路下載或在機器之間複製的檔案數,我們先從您打算執行 SQL 節點的電腦開始。

SQL 節點。我們假設您已將封存檔的副本放置在 IP 位址為 198.51.100.20 的電腦上的 C:\Documents and Settings\username\My Documents\Downloads 目錄中,其中 username 是目前使用者的名稱。(您可以使用命令列上的 ECHO %USERNAME% 取得此名稱。)若要以 Windows 服務的方式安裝和執行 NDB 叢集可執行檔,此使用者應該是 Administrators 群組的成員。

解壓縮封存檔中的所有檔案。Windows 檔案總管整合的解壓縮精靈足以執行此工作。(如果您使用其他封存程式,請確保它從封存檔中解壓縮所有檔案和目錄,並保留封存檔的目錄結構。)當系統要求您輸入目的地目錄時,輸入 C:\,這會讓解壓縮精靈將封存檔解壓縮到 C:\mysql-cluster-gpl-ver-winarch 目錄。將此目錄重新命名為 C:\mysql

可以將 NDB 叢集二進位檔安裝到 C:\mysql\bin 以外的目錄;但是,如果您這樣做,則必須相應地修改此程序中顯示的路徑。特別是,如果 MySQL 伺服器 (SQL 節點) 二進位檔安裝在 C:\mysqlC:\Program Files\MySQL\MySQL Server 8.4 以外的位置,或者如果 SQL 節點的資料目錄位於 C:\mysql\dataC:\Program Files\MySQL\MySQL Server 8.4\data 以外的位置,則在啟動 SQL 節點時,必須在命令列上使用額外的組態選項,或將這些選項新增至 my.inimy.cnf 檔案中。如需設定在非標準位置執行的 MySQL 伺服器的詳細資訊,請參閱第 2.3.3 節,「組態:手動」

若要讓具有 NDB 叢集支援的 MySQL 伺服器作為 NDB 叢集的一部分執行,則必須使用選項 --ndbcluster--ndb-connectstring 啟動。雖然您可以在命令列上指定這些選項,但通常將它們放在選項檔案中會更方便。若要執行此操作,請在 [記事本] 或其他文字編輯器中建立新的文字檔案。將下列組態資訊輸入此檔案中

[mysqld]
# Options for mysqld process:
ndbcluster                       # run NDB storage engine
ndb-connectstring=198.51.100.10  # location of management server

您可以視需要新增此 MySQL 伺服器使用的其他選項 (請參閱第 2.3.3.2 節,「建立選項檔案」),但此檔案至少必須包含顯示的選項。將此檔案儲存為 C:\mysql\my.ini。這樣就完成了 SQL 節點的安裝和設定。

資料節點。在 Windows 主機上的 NDB Cluster 資料節點只需要單一執行檔,即 ndbd.exendbmtd.exe 其中之一。 在此範例中,我們假設您正在使用 ndbd.exe,但使用 ndbmtd.exe 時,相同的指示也適用。在您希望執行資料節點的每台電腦 (IP 位址為 198.51.100.30 和 198.51.100.40 的電腦) 上,建立目錄 C:\mysqlC:\mysql\binC:\mysql\cluster-data;然後,在您下載並解壓縮 no-install 封存檔的電腦上,找到 C:\mysql\bin 目錄中的 ndbd.exe。將此檔案複製到這兩個資料節點主機上的 C:\mysql\bin 目錄中。

若要作為 NDB Cluster 的一部分運作,每個資料節點都必須提供管理伺服器的位址或主機名稱。您可以在啟動每個資料節點程序時,使用 --ndb-connectstring-c 選項在命令列上提供此資訊。然而,通常最好將此資訊放入選項檔案中。若要執行此操作,請在記事本或其他文字編輯器中建立新的文字檔案,並輸入以下文字

[mysql_cluster]
# Options for data node process:
ndb-connectstring=198.51.100.10  # location of management server

將此檔案儲存為資料節點主機上的 C:\mysql\my.ini。建立另一個包含相同資訊的文字檔案,並將其儲存為另一個資料節點主機上的 C:mysql\my.ini,或將 my.ini 檔案從第一個資料節點主機複製到第二個資料節點主機,確保將副本放在第二個資料節點的 C:\mysql 目錄中。現在這兩個資料節點主機都已準備好在 NDB Cluster 中使用,只剩下管理節點需要安裝和設定。

管理節點。用於託管 NDB Cluster 管理節點的電腦上唯一需要的執行檔是管理伺服器程式 ndb_mgmd.exe。但是,為了在 NDB Cluster 啟動後管理它,您還應該在與管理伺服器相同的機器上安裝 NDB Cluster 管理用戶端程式 ndb_mgm.exe。在您下載並解壓縮 no-install 封存檔的機器上找到這兩個程式;這應該是 SQL 節點主機上的 C:\mysql\bin 目錄。在 IP 位址為 198.51.100.10 的電腦上建立目錄 C:\mysql\bin,然後將這兩個程式複製到此目錄中。

您現在應該為 ndb_mgmd.exe 建立兩個設定檔

  1. 一個本機設定檔,用於提供特定於管理節點本身的設定資料。通常,此檔案只需要提供 NDB Cluster 全域設定檔的位置 (請參閱項目 2)。

    若要建立此檔案,請在記事本或其他文字編輯器中啟動一個新的文字檔案,並輸入以下資訊

    [mysql_cluster]
    # Options for management node process
    config-file=C:/mysql/bin/config.ini

    將此檔案儲存為文字檔案 C:\mysql\bin\my.ini

  2. 一個全域設定檔,管理節點可以從中獲取控制整個 NDB Cluster 的設定資訊。至少,此檔案必須包含 NDB Cluster 中每個節點的區段,以及管理節點和所有資料節點的 IP 位址或主機名稱 ( HostName 設定參數)。也建議加入以下其他資訊

    使用記事本等文字編輯器建立一個新的文字檔案,並輸入以下資訊

    [ndbd default]
    # Options affecting ndbd processes on all data nodes:
    NoOfReplicas=2                      # Number of fragment replicas
    DataDir=C:/mysql/cluster-data       # Directory for each data node's data files
                                        # Forward slashes used in directory path,
                                        # rather than backslashes. This is correct;
                                        # see Important note in text
    DataMemory=80M    # Memory allocated to data storage
    IndexMemory=18M   # Memory allocated to index storage
                      # For DataMemory and IndexMemory, we have used the
                      # default values. Since the "world" database takes up
                      # only about 500KB, this should be more than enough for
                      # this example Cluster setup.
    
    [ndb_mgmd]
    # Management process options:
    HostName=198.51.100.10              # Hostname or IP address of management node
    DataDir=C:/mysql/bin/cluster-logs   # Directory for management node log files
    
    [ndbd]
    # Options for data node "A":
                                    # (one [ndbd] section per data node)
    HostName=198.51.100.30          # Hostname or IP address
    
    [ndbd]
    # Options for data node "B":
    HostName=198.51.100.40          # Hostname or IP address
    
    [mysqld]
    # SQL node options:
    HostName=198.51.100.20          # Hostname or IP address

    將此檔案儲存為文字檔案 C:\mysql\bin\config.ini

重要事項

當在 Windows 上的 NDB Cluster 使用的程式選項或設定檔中指定目錄路徑時,不能使用單一反斜線字元 (\)。相反地,您必須用第二個反斜線 (\\) 跳脫每個反斜線字元,或用正斜線字元 (/) 取代反斜線。例如,以下來自 NDB Cluster config.ini 檔案的 [ndb_mgmd] 區段的行不起作用

DataDir=C:\mysql\bin\cluster-logs

相反地,您可以使用以下任一種方式

DataDir=C:\\mysql\\bin\\cluster-logs  # Escaped backslashes
DataDir=C:/mysql/bin/cluster-logs     # Forward slashes

為了簡潔和易讀起見,我們建議您在 Windows 上的 NDB Cluster 程式選項和設定檔中使用的目錄路徑中使用正斜線。