一旦 NDB 叢集可執行檔和所需的組態檔就位,叢集的初始啟動只需啟動叢集中所有節點的 NDB 叢集可執行檔即可。每個叢集節點程序都必須單獨啟動,並在其所在的託管電腦上啟動。管理節點應先啟動,然後是資料節點,最後才是任何 SQL 節點。
在管理節點主機上,從命令列發出以下命令以啟動管理節點程序。輸出應與此處顯示的內容類似。
C:\mysql\bin> ndb_mgmd 2010-06-23 07:53:34 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-9.0.0-ndb-9.0.0 2010-06-23 07:53:34 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
管理節點程序會繼續將記錄輸出列印到主控台。這是正常的,因為管理節點不是以 Windows 服務的形式執行。(如果您在類似 Unix 的平台 (例如 Linux) 上使用過 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-9.0.0-ndb-9.0.0) Node 3: starting (Last completed phase 3) (mysql-9.0.0-ndb-9.0.0) Node 2: starting (Last completed phase 4) (mysql-9.0.0-ndb-9.0.0) Node 3: starting (Last completed phase 4) (mysql-9.0.0-ndb-9.0.0) Node 2: Started (version 9.0.0) Node 3: Started (version 9.0.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: 9.0.0-ndb-9.0.0, Nodegroup: 0, *) id=3 @198.51.100.40 (Version: 9.0.0-ndb-9.0.0, Nodegroup: 0) [ndb_mgmd(MGM)] 1 node(s) id=1 @198.51.100.10 (Version: 9.0.0-ndb-9.0.0) [mysqld(API)] 1 node(s) id=4 @198.51.100.20 (Version: 9.0.0-ndb-9.0.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 服務」。