Windows下搭建MySQL集群

2021-06-14 01:37:38 字數 3327 閱讀 6102

本文將討論在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...