本節提供有關在 Linux 和其他類 Unix 平台上編譯 NDB Cluster 的資訊。從原始碼建置 NDB Cluster 與建置標準 MySQL Server 類似,但在此討論的幾個關鍵方面有所不同。有關從原始碼建置 MySQL 的一般資訊,請參閱第 2.8 節「從原始碼安裝 MySQL」。有關在 Windows 平台上編譯 NDB Cluster 的資訊,請參閱第 25.3.2.2 節「在 Windows 上從原始碼編譯和安裝 NDB Cluster」。
MySQL NDB Cluster 8.4 是從 MySQL Server 8.4 原始碼建置的,可從 MySQL 下載頁面取得:https://mysqldev.dev.org.tw/downloads/。封存的原始碼檔案名稱應類似 mysql-8.4.0.tar.gz
。您也可以從 GitHub 取得原始碼:https://github.com/mysql/mysql-server。
CMake 的 WITH_NDB
選項會導致建置管理節點、資料節點和其他 NDB Cluster 程式的二進位檔;它也會導致在編譯 mysqld 時包含 NDB
儲存引擎支援。建置 NDB Cluster 時,此選項是必要的。
預設啟用 WITH_NDB_JAVA
選項。這表示預設情況下,如果 CMake 在您的系統上找不到 Java 的位置,組態程序將會失敗;如果您不想啟用 Java 和 ClusterJ 支援,則必須使用 -DWITH_NDB_JAVA=OFF
明確指出以組態建置。如果需要,請使用 WITH_CLASSPATH
提供 Java 類別路徑。
如需有關特定於建置 NDB Cluster 的 CMake 選項的詳細資訊,請參閱 用於編譯 NDB Cluster 的 CMake 選項。
在您執行 make && make install (或您系統的等效命令) 之後,結果會與解壓縮預先編譯的二進位檔到相同位置的結果類似。
管理節點。從原始碼建置並執行預設的 make install 時,管理伺服器和管理用戶端二進位檔 (ndb_mgmd 和 ndb_mgm) 可以在 /usr/local/mysql/bin
中找到。只有 ndb_mgmd 需要存在於管理節點主機上;不過,最好也在同一主機上包含 ndb_mgm。這些可執行檔都不需要位於主機檔案系統上的特定位置。
資料節點。資料節點主機上唯一需要的可執行檔是資料節點二進位檔 ndbd 或 ndbmtd。(例如,mysqld 不需要存在於主機上。) 預設情況下,從原始碼建置時,此檔案會放置在 /usr/local/mysql/bin
目錄中。若要安裝在多個資料節點主機上,只需要將 ndbd 或 ndbmtd 複製到其他主機。 (這假設所有資料節點主機都使用相同的架構和作業系統;否則您可能需要針對每個不同的平台個別編譯。) 資料節點二進位檔不需要位於主機檔案系統上的特定位置,只要知道其位置即可。
從原始碼編譯 NDB Cluster 時,不需要特殊選項來建置多執行緒資料節點二進位檔。使用 NDB
儲存引擎支援組態建置會導致自動建置 ndbmtd;make install 會將 ndbmtd 二進位檔與 mysqld、ndbd 和 ndb_mgm 一起放置到安裝 bin
目錄中。
SQL 節點。如果您使用叢集支援編譯 MySQL,並執行預設安裝 (以系統 root
使用者身分使用 make install),則 mysqld 會放置在 /usr/local/mysql/bin
中。依照第 2.8 節「從原始碼安裝 MySQL」中給定的步驟,讓 mysqld 準備好使用。如果您想執行多個 SQL 節點,可以在多部機器上使用相同的 mysqld 可執行檔及其相關支援檔案的副本。最簡單的方法是將整個 /usr/local/mysql
目錄和其中包含的所有目錄和檔案複製到其他 SQL 節點主機,然後在每部機器上重複 第 2.8 節「從原始碼安裝 MySQL」中的步驟。如果您使用非預設 PREFIX
選項組態建置,則必須相應地調整目錄。
在第 25.3.3 節「NDB Cluster 的初始組態」中,我們為範例 NDB Cluster 中的所有節點建立組態檔。