一旦 NDB 叢集可執行檔和所需的設定檔就緒,初始啟動叢集只需啟動叢集中所有節點的 NDB 叢集可執行檔。每個叢集節點程序必須在它所在的宿主電腦上單獨啟動。應先啟動管理節點,然後啟動資料節點,最後啟動任何 SQL 節點。
在管理節點主機上,從命令列發出以下命令以啟動管理節點程序。輸出應與此處顯示的類似
C:\mysql\bin> ndb_mgmd 2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-8.4.0-ndb-8.4.0 2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
管理節點程序會持續將記錄輸出印到主控台。這是正常的,因為管理節點並未作為 Windows 服務執行。(如果您在 Linux 等類 Unix 平台上使用過 NDB 叢集,您可能會注意到,管理節點在這方面於 Windows 上的預設行為實際上與其在 Unix 系統上的行為相反,在 Unix 系統上,它預設會作為 Unix 精靈程序執行。在 Windows 上執行的 NDB 叢集資料節點程序也是如此。)因此,請勿關閉執行 ndb_mgmd.exe 的視窗;關閉視窗會終止管理節點程序。(請參閱第 25.3.2.4 節「將 NDB 叢集程序安裝為 Windows 服務」,其中我們將示範如何將 NDB 叢集程序安裝為 Windows 服務並執行。)
必要的
-f
選項會告知管理節點全域設定檔 (config.ini
) 的位置。此選項的長格式為--config-file
。重要NDB 叢集管理節點會快取從
config.ini
讀取的設定資料;一旦建立設定快取,除非強制重新讀取,否則後續啟動時會忽略config.ini
檔案。這表示,如果管理節點因這個檔案中的錯誤而無法啟動,您必須在修正檔案中的任何錯誤後,強制管理節點重新讀取config.ini
。您可以在命令列中使用 ndb_mgmd.exe 的--reload
或--initial
選項來完成此操作。這兩個選項都可以重新整理設定快取。沒有必要或建議在管理節點的
my.ini
檔案中使用這兩個選項。在每個資料節點主機上,執行此處顯示的命令以啟動資料節點程序
C:\mysql\bin> ndbd 2010-06-23 07:53:46 [ndbd] INFO -- Configuration fetched from 'localhost:1186', generation: 1
在這兩種情況下,資料節點程序的第一行輸出應與前面範例中顯示的內容相似,並且後面接著其他記錄輸出行。與管理節點程序一樣,這是正常的,因為資料節點並未作為 Windows 服務執行。因此,請勿關閉執行資料節點程序的命令列視窗;關閉視窗會終止 ndbd.exe。(如需更多資訊,請參閱第 25.3.2.4 節「將 NDB 叢集程序安裝為 Windows 服務」。)
請勿立即啟動 SQL 節點;在資料節點完成啟動之前,它無法連線到叢集,這可能需要一些時間。相反地,在管理節點主機上的新命令列視窗中,啟動 NDB 叢集管理用戶端 ndb_mgm.exe,它應該位於管理節點主機上的
C:\mysql\bin
中。(請勿嘗試重新使用執行 ndb_mgmd.exe 的命令列視窗,方法是輸入 CTRL+C,因為這會終止管理節點。)產生的輸出應如下所示C:\mysql\bin> ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm>
當出現提示
ndb_mgm>
時,表示管理用戶端已準備好接收 NDB 叢集管理命令。您可以透過在管理用戶端提示符號中輸入ALL STATUS
來觀察資料節點的啟動狀態。此命令會顯示資料節點啟動順序的執行中報告,看起來應如下所示ndb_mgm> ALL STATUS Connected to Management Server at: localhost:1186 (using cleartext) Node 2: starting (Last completed phase 3) (mysql-8.4.0-ndb-8.4.0) Node 3: starting (Last completed phase 3) (mysql-8.4.0-ndb-8.4.0) Node 2: starting (Last completed phase 4) (mysql-8.4.0-ndb-8.4.0) Node 3: starting (Last completed phase 4) (mysql-8.4.0-ndb-8.4.0) Node 2: Started (version 8.4.0) Node 3: Started (version 8.4.0) ndb_mgm>
注意在管理用戶端中發出的命令不區分大小寫;我們使用大寫字母作為這些命令的標準形式,但您在輸入到 ndb_mgm 用戶端時,不需要遵守這個慣例。如需更多資訊,請參閱第 25.6.1 節「NDB 叢集管理用戶端中的命令」。
ALL STATUS
產生的輸出可能會與此處顯示的內容有所不同,具體取決於資料節點的啟動速度、您正在使用的 NDB 叢集軟體的版本號碼和其他因素。重要的是,當您看到兩個資料節點都已啟動時,就可以啟動 SQL 節點了。您可以讓 ndb_mgm.exe 保持執行;它對 NDB 叢集的效能沒有負面影響,而且我們將在下一步使用它來驗證 SQL 節點在啟動後是否已連線到叢集。
在指定為 SQL 節點主機的電腦上,開啟一個命令列視窗,並導覽至您解壓縮 NDB 叢集二進制檔的目錄(如果您正在遵循我們的範例,則為
C:\mysql\bin
)。從命令列叫用 mysqld.exe,如下所示,以啟動 SQL 節點
C:\mysql\bin> mysqld --console
--console
選項會將記錄資訊寫入主控台,這在發生問題時可能很有幫助。(一旦您確認 SQL 節點以令人滿意的方式執行,您可以停止它,並在沒有--console
選項的情況下重新啟動,以便正常執行記錄。)在管理節點主機上執行管理用戶端 (ndb_mgm.exe) 的命令列視窗中,輸入
SHOW
命令,該命令應產生與此處顯示的內容相似的輸出ndb_mgm> SHOW Connected to Management Server at: localhost:1186 (using cleartext) Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @198.51.100.30 (Version: 8.4.0-ndb-8.4.0, Nodegroup: 0, *) id=3 @198.51.100.40 (Version: 8.4.0-ndb-8.4.0, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @198.51.100.10 (Version: 8.4.0-ndb-8.4.0) [mysqld(API)] 1 node(s) id=4 @198.51.100.20 (Version: 8.4.0-ndb-8.4.0)
您也可以使用
SHOW ENGINE NDB STATUS
語句,在 mysql 用戶端 (mysql.exe) 中驗證 SQL 節點是否已連線到 NDB 叢集。
您現在應該可以使用 NDB 叢集的 NDBCLUSTER
儲存引擎來處理資料庫物件和資料。如需更多資訊和範例,請參閱第 25.3.5 節「具有表格和資料的 NDB 叢集範例」。
您也可以將 ndb_mgmd.exe、ndbd.exe 和 ndbmtd.exe 安裝為 Windows 服務。如需瞭解如何操作,請參閱第 25.3.2.4 節「將 NDB Cluster 程序安裝為 Windows 服務」。