本文將討論在windows下搭建mysql集群的步驟和搭建過程中應當注意的問題。
由於機器數量和效能有限,搭建環境為一台宿主機(ip:10.200.178.191),一台虛擬機器(ip:10.200.178.192)。
管理節點、資料儲存節點和sql節點的分配情況如下:
管理節點:10.200.178.191
資料儲存節點:10.200.178.192
sql節點:10.200.178.191和10.200.178.192
注意:生產環境中最好不要將資料儲存節點和管理節點放在同一臺機器上,否則如果資料儲存節點宕機,將導致管理節點宕機,最終後果是整個集群宕機。
注意:如果在配置例項的過程中出現"mysql error nr. 2003」錯誤,說明本機安裝了ipv6,導致mysql無法解析localhost為127.0.0.1。
解決方法:在cmd中執行 ipv6 uninstall,安裝後在cmd中執行ipv6 install 就可以避免上述問題了,如果ping localhost時結果如下圖所示,表示正確。
第二步:配置mysql集群
2.1:配置config.ini檔案
在10.200.178.191機器的c:\mysql\mysql-cluster目錄下,新建config.ini初始檔案,內容如下:
[ndbd default]#ndbd節點的預設配置
noofreplicas=1#因為每組資料節點個數,組數=資料節點總數/noofreplicas,且組數必須為整數,#否則將報nodegroup i has j members,noofreplicas=x此類錯#誤
datadir=c:\mysql\mysql-cluster\bin\cluster-data #data node storage directory,ndbd配置的datadir優先順序更高
datamemory=80m # 資料儲存分配的記憶體,酌情設定
indexmemory=18m # 索引儲存分配的記憶體,酌情設定
[mysqld default]
[ndb_mgmd default]
[tcp default]
#management node
[ndb_mgmd]
hostname=10.200.178.191
#data storage node 1
#[ndbd]
#hostname=10.200.178.191
#datadir= d:\cluster-data#若沒有,請先建立該目錄
#data storage node 2
[ndbd]
hostname=10.200.178.192
datadir= d:\cluster-data
#sql node 1
[mysqld]
hostname=10.200.178.191
#sql node 2
[mysqld]
hostname=10.200.178.192
2.2:配置my.ini檔案
在10.200.178.191機器的mysql安裝目錄的bin下,找到my.ini,配置該機器為mysql節點,在該檔案末尾新增如下內容:
[mysqld]
ndbcluster#mysql服務將作為群集的 sql 節點啟動
ndb-connectstring=10.200.178.191#管理節點ip
在10.200.178.192機器的mysql安裝目錄的bin下,找到my.ini,配置該機器為資料儲存節點和mysql節點,在該檔案末尾新增如下內容:
[mysqld]#mysql節點
ndbcluster
ndb-connectstring=10.200.178.191#管理節點ip
[mysql_cluster]#資料儲存節點
ndb-connectstring=10.200.178.191#管理節點ip
注意:每一次對配置檔案進行修改後,務必重新啟動mysql服務。
第三步:啟動mysql集群
mysql集群的啟動順序為管理節點、資料節點和sql節點
3.1:啟動管理節點
在10.200.178.191機器的cmd下輸入ndb_mgmd -f "c:\mysql\mysql-cluster\config.ini"
注意:執行上述命令的前提是已將mysql的bin目錄新增到了環境變數中的path目錄下。
3.2:啟動資料節點
在10.200.178.192機器的cmd下輸入ndbd.exe --initial
注意:第一次啟動資料節點必須加上 --initial,如果再次啟動時加 --initial會將所有的資料乾掉
3.3:啟動sql節點
預設情況下是如果開啟動了mysql服務,表示已開啟了sql節點。
第四步:檢視mysql集群狀態
在任何一台機器的cmd下輸入ndb_mgm回車後,輸入show檢視集群的狀態,如下圖所示:
第五步:測試mysql集群
在任何一台sql節點上建立資料庫cluster,sql如下:
create table people(id int, name varchar(10)) engine=ndbcluster default charset utf8;
在任何一台sql節點的mysql客戶端下插入資料,然後在任何一台sql節點的mysql客戶端下查詢資料。
第六步:關閉mysql集群
mysql集群的關閉順序是sql節點、儲存節點、管理節點
在集群中每一台機器的cmd下輸入net stop mysql關閉sql節點
在集群中任何一台機器的cmd下輸入ndb_mgm回車後,輸入shutdown -e關閉資料儲存結點和管理結點
windows下搭建tensorflow的環境
這年頭,不會點人工智慧和神經網路,都不好意思跟人打招呼了。之前搞了一下sklearn,今天覺得應該要了解一下google這個傳說中的人工智慧開源神器。最近終於有時間了,凡事從hello world開始,先從搭環境開始吧。安裝python 安裝各種庫,依賴,因為已經裝過太多,我已經忘記需要裝什麼了。但...
Windows下搭建論壇
windows下搭建論壇 真正的 o基礎架構,一步一步走向成功 安裝整合包軟體 解壓後如下 以管理員身份執行setup的批處理 選擇推薦的apache版本 選擇推薦的mysql版本 解壓完成執行初始化 當出現以下原因是因為包含了中文字元 為解決此問題將他移動到非中文本元的目錄下 執行init.cmd...
Windows下搭建MinGW GTK開發環境
我們來寫乙個簡單的測試程式 hello.c include int main int argc,char argv 在命令列 cmd 下輸入gcc c hello.c o c hello進行編譯。我們再來寫乙個gtk 的簡單的測試程式 base.c include int main int argc...