說明:將mysql的管理節點和數據節點配置成windows服務是爲了防止有人手誤關閉管理節點或數據節點的dos命令窗口,管理節點或數據節點的命令窗口誤關閉可能會形成mysql某臺或某幾臺mysql不能被訪問,註冊成windows服務自動啓動更安全可靠。html
目錄node
操做系統:Windows Server 2008 R2 Enterprisemysql
VM1:192.168.220.103 管理節點(MGM),sql
VM2:192.168.220.104數據節點(NDBD1),SQL節點(SQL1)數據庫
VM3:192.168.220.108 數據節點(NDBD2),SQL節點(SQL2)windows
MySQL Cluster版本:7.3.7 (MSI Installer)安全
相關知識服務器
簡介:測試
MySQL Cluster 是一種技術,該技術容許在無共享的系統中部署「內存中」數據庫的 Cluster 。經過無共享體系結構,系統可以使用廉價的硬件,並且對軟硬件無特殊要求。此外,因爲每一個組件有本身的內存和磁盤,不存在單點故障。spa
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=1024 MaxNoOfUniqueHashIndexes=1024 MaxNoOfOrderedIndexes=1024 MaxNoOfAttributes=10000 [ndb_mgmd] NodeId=1 HostName=192.168.220.103 DataDir=C:\Program Files\MySQL\MySQL Cluster 7.3\data [ndbd] NodeId=21 HostName=192.168.220.104 DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster [ndbd] NodeId=22 HostName=192.168.220.108 DataDir=C:\Program Files\MySQL\MySQL Server 5.6\mysql-cluster [mysqld] NodeId=11 HostName=192.168.220.104 [mysqld] NodeId=12 HostName=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