標籤:
VM1:192.168.220.102 管理節點(MGM)
VM2:192.168.220.103 資料節點(NDBD1),SQL節點(SQL1)
VM3:192.168.220.104 資料節點(NDBD2),SQL節點(SQL2)
MySQL Cluster版本:7.4.6 (MSI Installer) :http://dev.mysql.com/downloads/cluster/
測試載入器:Navicate for MySQL
三種節點:
管理節點:用於管理叢集共它節點; 守護進程ndb_mgmd
資料節點:用於儲存叢集的資料; 守護進程ndbd
SQL節點:用於串連資料節點;守護進程mysqld
解釋一下 管理節點是負責管理資料節點和SQL節點的相當於叢集的大腦, 資料節點是專門負責叢集儲存資料的, SQL節點說白了就是給你工具串連用的。
第一步先組態管理節點,把現在下來的安裝包安裝好以後。
到根目錄 C:\Program Files\MySQL\MySQL Cluster 7.4 下面添加一個設定檔 配置如下
[ndbd default]
NoOfReplicas=2
MaxNoOfTables=1024
MaxNoOfUniqueHashIndexes=1024
MaxNoOfOrderedIndexes=1024
MaxNoOfAttributes=10000
[ndb_mgmd]
NodeId=1
HostName=192.168.220.102
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data
[ndbd]
NodeId=21
HostName=192.168.220.103
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data
[ndbd]
NodeId=22
HostName=192.168.220.104
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.4\data
[mysqld]
NodeId=11
HostName=192.168.220.103
[mysqld]
NodeId=12
HostName=192.168.220.104
請看的人一定要按照我上面的配置來進行配置,千萬別去亂改檔案夾名稱。更不要去隨意添加目錄,因為筆者看了網上很多傻逼博文就是隨意添加目錄修改目錄名
最後把本來很清晰的目錄結構搞的混亂不堪,導致後面出了一大堆錯。現在已經是淩晨1點了,忙到現在都是因為這些SB博主XJBG的結果。
廢話不多說按照上面的配置好以後,看下下面定義節點的意思。總之就是1個管理節點 2個資料節點 2個SQL節點。
[NDBD]:定義了叢集的資料節點
[MYSQLD]:定義了叢集的MySQL伺服器節點
[MGM]或[NDB_MGMD]:定義了叢集的管理伺服器節點
[NDB_MGMD]Id:節點唯一的標識
[NDBD]NoOfReplicas:全域參數僅能在[NDBD DEFAULT]中設定,它定義了叢集中每個表儲存的副本數。該參數還指定了節點群組的大小。節點群組指的是儲存相同資訊的節點集合
[NDBD]DataDir:該參數指定了存放追蹤檔案、記錄檔、 pid檔案以及錯誤記錄檔的目錄
[MYSQLD]basedir:使用指定目錄作為根目錄
[MYSQLD]datadir:使用指定目錄讀取資料庫檔案
上面配置好以後基本就完成了一大部分了,下面來配置資料節點和SQL節點。在一般情況 資料節點和SQL節點是成對出現的。意思就是一台Mysql伺服器是由兩個節點構成。下面來看看怎麼配置一台叢集下的Mysql 伺服器:
首先將下載的 MySQL Cluster 7.4 安裝好,然後找到根目錄C:\Program Files\MySQL\MySQL Cluster 7.4 然後添加一個名為my.ini 的設定檔。配置內容如下
[mysqld]character_set_server=utf8basedir="C:\Program Files\MySQL\MySQL Cluster 7.4"datadir="C:\Program Files\MySQL\MySQL Cluster 7.4\data"sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLESndbclusterndb-connectstring=192.168.220.102explicit_defaults_for_timestamp=true[mysql_cluster]ndb-connectstring=192.168.220.102
這裡簡單說一下,其實就是配置SQL節點和資料節點的管理伺服器是哪台伺服器。這裡我們直接配置成我們開始設定好的管理節點伺服器位址就行了,記住
basedir 和 datadir 不要填錯了不然運行會出現各種奇葩錯誤,在這裡我很想噴一下我之前看到的那些SB博文。居然不把這裡說清楚,不說清楚就算了壓根沒這段配置而且下面也只有[mysql_cluster] 資料節點沒有SQL節點 我操尼瑪 SQL節點被你們吃了嗎?就知道到處複製粘貼真尼瑪雞巴害死老子了。這個地方一定要配置好這兩個配置節 [mysql_cluster] 和 [mysqld]。
以上就是所有的配置了,就這麼簡單就搞定了接下來我們來一個個的啟動。
啟動的順序是 1:管理節點 2:資料節點 3:SQL節點
1: 192.168.220.102 開啟命令列視窗,然後按照下面給的命令 一行一行的輸。
cd "C:\Program Files\MySQL\MySQL Cluster 7.4\bin"
ndb_mgmd.exe --config-file="C:\Program Files\MySQL\MySQL Cluster 7.4\config.ini" --configdir="C:\Program Files\MySQL\MySQL Cluster 7.4"
上述命令執行成功後CMD會自動輸出一段 MySQL Cluster Management Server mysql-5.6.24 ndb-7.4.6,我就不了麻煩。
執行完上面的命令後記住別關閉當前這個執行命令的視窗,然後從新開啟一個CMD命令視窗。關掉的是SB 別問我為什麼,因為老子被那些傻逼博文害慘了。
2:192.168.220.103或者192.168.220.104 開啟命令列視窗,然後輸入下面的命令。
cd "C:\Program Files\MySQL\MySQL Cluster 7.3\bin"
ndbd.exe --initial
執行成功以後CMD返回資訊差不多是下面這樣的,
2015-05-28 23:28:06 [ndbd] INFO -- Angel connected to ‘192.168.2.73:1186‘
2015-05-28 23:28:06 [ndbd] INFO -- Angel allocated nodeid: 22
3:192.168.220.103或者192.168.220.104 開啟命令列視窗,輸入下面的命令。
cd "C:\Program Files\MySQL\MySQL Cluster 7.4\bin"mysqld.exe --default-file="C:\Program Files\MySQL\MySQL Cluster 7.4\my.ini"mysqld --installnet start mysql
記住哦一行一行的輸入,第二行斷行符號以後會有點慢千萬別關掉CMD視窗。老子開始就以為是我弄錯了卡死瞭然後關了他媽的結果前功盡棄從頭來過而且還不知道錯哪裡。
最終成功後 CMD返回的內容差不多如下:
2015-05-28 23:29:02 0 [Note] mysqld.exe (mysqld 5.6.24-ndb-7.4.6-cluster-gpl) starting as process 2868 ...
Service successfully installed.
MySQL 服務正在啟動 ..
MySQL 服務已經啟動成功。
把192.168.220.103和192.168.220.104都設定好以後 然後切換到192.168.220.102 新開一個命令視窗千萬別關閉之前正在啟動並執行管理節點命令視窗不然你就是SB。
然後在新開的命令視窗下輸入如下命令:
ndb_mgm.exe
show
記住還是一行一行的輸入ndb_mgm.exe是一行 show也是一行。
最後成功的返回結果應該是下面這個樣子的:
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=21 @192.168.220.103 (mysql-5.6.24 ndb-7.4.6, Nodegroup: 0, *)
id=22 @192.168.220.104 (mysql-5.6.24 ndb-7.4.6, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.220.102 (mysql-5.6.24 ndb-7.4.6)
[mysqld(API)] 2 node(s)
id=11 @192.168.220.103 (mysql-5.6.24 ndb-7.4.6)
id=12 @192.168.220.104 (mysql-5.6.24 ndb-7.4.6)
剩下的就是測試了,隨便下載一個navicat 串連192.168.220.104 和 192.168.220.103 這兩個 SQL節點,就和平常串連Mysql 一樣的。然後自己玩
媽的下班回家了,寫完都快2點了我靠。。。。。。。。
我只想說那些複製粘貼的麻煩看看是不是對的再貼行嗎?把老子折騰死了你們這群小婊砸
Mysql Cluster 叢集 windows版本