標籤:
說明:將mysql的管理節點和資料節點配置成windows服務是為了防止有人手誤關閉管理節點或資料節點的dos命令視窗,管理節點或資料節點的命令視窗誤關閉可能會造成mysql某台或某幾台mysql不能被訪問,註冊成windows服務自動啟動更安全可靠。
目錄
作業系統:Windows Server 2008 R2 Enterprise
VM1:192.168.220.103 管理節點(MGM),
VM2:192.168.220.104資料節點(NDBD1),SQL節點(SQL1)
VM3:192.168.220.108 資料節點(NDBD2),SQL節點(SQL2)
MySQL Cluster版本:7.3.7 (MSI Installer)
相關知識
簡介:
MySQL Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的 Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。
MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式
三種節點:
管理節點:用於管理叢集共它節點; 守護進程ndb_mgmd
資料節點:用於儲存叢集的資料; 守護進程ndbd
SQL節點:用於串連資料節點;守護進程mysqld
詳情請參考:參考手冊中MySQL Cluster章節
配置過程
在VM1,VM2,VM3上安裝MySQL Cluster(mysql-cluster-gpl-7.3.7-winx64)
選擇typical安裝,安裝目錄均為:C:\Program Files\MySQL\MySQL Cluster 7.3
在VM1,VM2,VM3上的Windows 資源管理員中開啟C:\Program Files\MySQL,在此目錄下建立檔案夾MySQL Server 5.6,然後在建立的MySQL Server 5.6檔案夾下建立mysql-cluster檔案夾
建立檔案夾的路徑分別為:C:\Program Files\MySQL\MySQL Server 5.6
C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster
在VM1的Windows 資源管理員開啟目錄C:\,建立MySQL目錄,並在此目錄下建立一個config.ini檔案(完整目錄為C:\MySQL\config.ini)
[ndbd default]NoOfReplicas=2 MaxNoOfTables=1024MaxNoOfUniqueHashIndexes=1024MaxNoOfOrderedIndexes=1024MaxNoOfAttributes=10000[ndb_mgmd]NodeId=1HostName=192.168.220.103DataDir=C:\Program Files\MySQL\MySQL Cluster 7.3\data[ndbd]NodeId=21HostName=192.168.220.104DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster[ndbd]NodeId=22HostName=192.168.220.108DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster[mysqld]NodeId=11HostName=192.168.220.104[mysqld]NodeId=12HostName=192.168.220.108
在VM1,VM2,VM3的資源管理員中開啟目錄C:\Program Files\MySQL\MySQL Cluster 7.3,並在此目錄下建立一個my.ini檔案
[mysqld]character_set_server=utf8 basedir="C:\Program Files\MySQL\MySQL Cluster 7.3" datadir="C:\Program Files\MySQL\MySQL Cluster 7.3\data" sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ndbclusterndb-connectstring=192.168.220.103 explicit_defaults_for_timestamp=true[mysql_cluster]ndb-connectstring=192.168.220.103
在VM1和VM2中設定環境變數(非必需,文中並未用到,都會CD轉到到相應目錄去執行命令)
電腦右鍵屬性 (或者 控制台\系統和安全\系統)--->進階系統配置--->"進階"選擇卡--->環境變數--->系統變數中找到Path--->編輯--->加上C:\Program Files\MySQL\MySQL Cluster 7.3\bin
注意:多個路徑用分號分隔
設定檔主要參數介紹:
[NDBD]:定義了叢集的資料節點
[MYSQLD]:定義了叢集的MySQL伺服器節點
[MGM]或[NDB_MGMD]:定義了叢集的管理伺服器節點
[NDB_MGMD]Id:節點唯一的標識
[NDBD]NoOfReplicas:全域參數僅能在[NDBD DEFAULT]中設定,它定義了叢集中每個表儲存的副本數。該參數還指定了節點群組的大小。節點群組指的是儲存相同資訊的節點集合
[NDBD]DataDir:該參數指定了存放追蹤檔案、記錄檔、 pid檔案以及錯誤記錄檔的目錄
[MYSQLD]basedir:使用指定目錄作為根目錄
[MYSQLD]datadir:使用指定目錄讀取資料庫檔案
在管理節點(MGM)機器上(VM1)中開啟CMD視窗執行如下命令,啟動管理節點
安裝管理節點作為windows服務
先跳到mysql安裝路徑的bin目錄cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
ndb_mgmd.exe --install=ndb_mgmd --ndb-mgmd-host=192.168.220.103
--ndb-nodeid=1 --config-file="C:\\MySQL\\config.ini"
參數說明:
--ndb-mgmd-host為管理節點ip
--ndb-nodeid為管理節點上設定檔config.ini中管理節點的nodeid
--install=ndb_mgmd,其中ndb_mgmd為windows服務名稱
注意:--config-file中的路徑中必須用\\,並且路徑中不允許包含空格
啟動管理節點 net start ndb_mgmd
在資料節點(NDBD1)機器上(VM2)中新開啟CMD視窗執行如下命令,啟動資料節點
安裝myslq資料節點作為windows服務
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
ndbd.exe --install=ndbd --initial (--initial只有初次執行時需要)
(註:ndbd 為資料節點windows服務名稱)
啟動資料節點 net start ndbd
注意:--initial只有初次執行需要,以後執行ndbd.exe就可以(參考手冊裡的意思應該是當需要清理叢集檔案時才使用,所以這個參數應該要慎用或者提前備份)
在SQL節點(SQL1)機器上(VM2)中新開CMD視窗執行如下命令,啟動SQL節點
安裝mysql sql節點
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
mysqld –install
net start mysql
注意:執行mysqld --install 你可以在電腦的伺服器看到名為“MySQL”的服務,在執行net start mysql,在服務中可以看到MySQL服務為“啟動”狀態
在資料節點(NDBD2)機器上(VM3)中新開啟CMD視窗執行如下命令,啟動資料節點
安裝myslq資料節點作為windows服務
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
ndbd.exe --install=ndbd --initial(--initial為初次執行時需要,可選)
啟動資料節點 net start ndbd
在SQL節點(SQL2)機器上(VM3)中新開CMD視窗執行如下命令,啟動SQL節點
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.3\my.ini"
mysqld –install
net start mysql
檢查配置
在管理節點(MGM)機器上(VM1)中開啟CMD視窗執行如下命令
ndb_mgm.exe
然後輸入show
看到的結果類似下面這樣:
管理節點:
192.168.220.103
資料節點
192.168.220.104
192.168.220.108
SQL節點
192.168.220.104
192.168.220.108
在104機器的mysql上建立測試資料庫test123和表t1,然後在登陸108機器上的mysql,查看資料庫test123和表t1是否已同步過來,若已同步,說明mysql cluster搭建成功。
參考文章:
http://www.cnblogs.com/zhongweiv/p/Windows_Server_2008_R2_MySQL_Cluster.html
Windows Server 2008R2配置MySQL Cluster並將管理節點和資料節點配置成windows服務