標籤:mysql 叢集
本文將通過兩台電腦來簡單介紹一下Windows平台如何搭建MySQL叢集。
MySQL叢集支援多台電腦,本文搭建的MySQL叢集以兩台機子為例,其中一台(IP為192.168.24.33)部署管理節點、資料節點和SQL節點,另一台(IP為192.168.24.82)部署資料節點和SQL節點。
實際應用中,不要將管理節點跟資料節點部署到一台機子上,因為如果資料節點宕機會導致管理節點不可用,同時整個MySQL群集也就都不可用了。所以一個MySQL群集理想情況下至少有三台伺服器,將管理節點單獨放到一台伺服器上。這裡以兩台舉例,只是為了說明三種節點的配置啟動方法。
簡單介紹一下MySQL叢集涉及的三種節點:
管理節點(也可以稱管理伺服器)是整個叢集環境的核心,類似於叢集中起調度作用的樞紐,由它來負責管理其它節點(資料節點和SQL節點)的開啟、關閉或重啟某個節點等等;其他節點從管理節點檢索配置資料,當資料節點有新事件時就把事件資訊發送給管理節點並寫入叢集記錄檔。該管理節點也是從mysql 5.6版本之後才出現,可見資料庫對於搭建叢集這個方向正在提出新的需求和新的挑戰,也許在之後的版本中搭建叢集將變的非常簡單,期待後續版本功能更強大。
資料節點用於儲存資料,如使用者的資料、資料庫、表、視圖、預存程序等都儲存在資料節點中。
SQL節點(即MySQL Service伺服器)跟一般的MySQL伺服器是一樣的,通過它來對資料進行管理和維護工作,為資料庫提供各種服務,如操作資料庫、安全、備份。
下面簡單介紹MySQL叢集的搭建過程:
一、本執行個體MySQL叢集所需環境
1.兩台電腦(本人使用兩台Windows8 作業系統的電腦)。
2.MySQL Cluster軟體,官網地址:http://dev.mysql.com/downloads/cluster/
(本人使用的MySQL Cluster版本為:mysql-cluster-gpl-7.3.5-winx64.zip)
注意:下載合適的MySQL版本,包括平台和安裝方式,推薦下載zip版本,便於配置和遷移
二、配置MySQL Cluster
1.組態管理節點
1.1 在IP為192.168.24.33的主機的C盤根目錄中建立檔案夾mysql,然後在此檔案夾下建立子目錄bin和mysql-cluster,再將安裝包中的bin目錄下的ndb_mgm.exe和ndb_mgmd.exe拷貝到C:\mysql\bin下。在目錄C:\mysql\bin下建立cluster-logs目錄、config.ini檔案和my.ini檔案。
1.2 config.ini檔案內容如下:
[ndbd default] # Options affecting ndbd processes on all data nodes: # Number of replicasNoOfReplicas=2 DataDir=c:/mysqlcluster/datanode/mysql/bin/cluster-data # Directory for each data node's data files # Memory allocated to data storage DataMemory=80M# Memory allocated to index storage IndexMemory=18M # For DataMemory and IndexMemory, we have used the # default values.[ndb_mgmd] # Management process options:# Hostname or IP address of management node 管理節點 HostName=192.168.24.33 # Directory for management node log files DataDir=C:/mysql/bin/cluster-logs[ndbd] # Options for data node "A": # (one [ndbd] section per data node) # Hostname or IP address 資料節點HostName=192.168.24.33 [ndbd] # Options for data node "B": # Hostname or IP addressHostName=192.168.24.82 [mysqld] # SQL node options: # Hostname or IP address sql節點HostName=192.168.24.33 [mysqld] # SQL node options: # Hostname or IP addressHostName=192.168.24.82
1.3 my.ini中的內容如下
[mysql_cluster]# Options for management node processconfig-file=C:/mysql/bin/config.ini
2.配置資料節點
2.1 在IP為192.168.24.33的主機中建立檔案夾C:\mysqlcluster\datanode\mysql,然後在此檔案夾(mysql)中繼續建立子目錄bin和cluster-data,bin下再建一個子目錄也叫cluster-data。
2.2 將安裝包data目錄下的所有檔案拷貝到C:\mysqlcluster\datanode\mysql\cluster-data下
2.3 將安裝包中bin目錄下的ndbd.exe拷貝到C:\mysqlcluster\datanode\mysql\bin下,並在C:\mysqlcluster\datanode\mysql中建立my.ini檔案,檔案內容為:
[mysql_cluster] # Options for data node process: # location of management serverndb-connectstring=192.168.24.33
註:因為各資料節點的配置是一樣的,所以我們可以直接將192.168.24.33主機中的檔案夾C:\mysqlcluster拷貝到192.168.24.82主機的C盤下,並無需任何更改。
3.配置SQL節點
3.1 在192.168.24.33主機的C:\mysqlcluster下建立子目錄sqlnode,在C:\mysqlcluster\sqlnode下建立子目錄mysql,將安裝包檔案解壓到mysql目錄下,然後在C:\mysqlcluster\sqlnode\mysql下建立my.ini檔案,檔案內容為:
[mysqld] # Options for mysqld process: # run NDB storage engine ndbcluster # location of management server ndb-connectstring=192.168.24.33
3.2 將my-default.ini 檔案刪除或更名為my-default.ini.bak
註:因為各SQL節點的配置是一樣的,所以我們可以直接將192.168.24.33主機中的檔案夾C:\mysqlcluster拷貝到192.168.24.82主機的C盤下,並無需任何更改。
三、啟動MySQL Cluster
在啟動MySQL Cluster之前,首先要做的是保證每個SQL節點上的MySQL服務能夠啟動成功,並為每個SQL節點進行相關許可權的分配以保證能夠遠程登入訪問。然後依次啟動三種節點。三種節點服務啟動時,一定要按照先啟動管理節點,後啟動資料節點,再啟動SQL節點的順序進行。
1.啟動MySQL服務
1.1 進入C:\mysqlcluster\sqlnode\mysql\bin目錄下,使用mysqld –install安裝MySQL服務
1.2 使用net start mysql命令啟動MySQL服務(如果已經安裝MySQL服務,就不必進行第1步操作)
若沒安裝MySQL服務,先安裝MySQL服務再開啟MySQL服務,按如片進行
註:依次運行各個SQL節點,保證MySQL服務正確啟動。
2.配置MySQL遠端連線
2.1 進入C:\mysqlcluster\sqlnode\mysql\bin目錄下,使用mysql -uroot -p,然後輸入密碼,設定root使用者密碼。(註:剛安裝的MySQL,預設密碼為空白!)
2.2 切換到mysql資料庫,輸入以下命令,為root使用者指派遠端連線的相關許可權
GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIEDBY ‘root‘ WITH GRANT OPTION;
|
接下來依次啟動各節點:
3.啟動管理節點
在192.168.24.33主機中開啟命令列視窗,切到C:\mysql\bin目錄,輸入
| ndb_mgmd -f config.ini--configdir=C:\mysql\mysql-cluster |
|
斷行符號,管理節點服務就啟動了,命令列上可能沒有任何提示資訊,可以開啟C:\mysql\bin\cluster-logs\ndb_1_cluster.log記錄檔查看啟動資訊。
注意:此行命令列視窗不能關閉,除非想停止服務。
4.啟動資料節點
4.1 在192.168.24.33主機中開啟新命令列視窗,切到C:\mysqlcluster\datanode\mysql\bin,輸入 ndbd,按斷行符號,資料節點就啟動了
4.2 以相同的方法在其他資料節點,即192.168.24.82中啟動資料節點服務。
4.3 查看資料節點及SQL節點串連情況
在192.168.24.33主機中開啟新命令列視窗,切到目錄C:\mysql\bin,輸入:ndb_mgm;按斷行符號,再輸入:
ALL STATUS,斷行符號,就可以查看資料節點的串連資訊了(若使用Show 會查看到各管理節點、資料節點、SQL節點的串連資訊)
5.啟動SQL節點
5.1 在192.168.24.16主機中開啟新命令列視窗,切到C:\mysqlcluster\sqlnode\mysql\bin,輸入:
mysqld--console;斷行符號,SQL節點啟動。
5.2 以相同的方法在其他SQL節點,即192.168.24.82中啟動SQL節點。
按上一步(4.3)查看方法,使用show命令,查看各SQL節點串連情況。若出現情況,表示各節點均已串連成功!
四、測試MySQL Cluster
在任一SQL節點,即192.168.24.33主機上新建立一個資料庫mytestmysql,可以看到其他SQL結點,即192.168.24.82均建立了一個mytestmysqlB資料庫。在一台機子上對資料表進行任何操作,另一台機子上的資料庫也會進行相應的操作。
至此,Windows平台搭建MySQL叢集的過程就介紹完了!搭建過程中可能會遇到些小問題,不過通過網路,基本上都可以解決。
MySQL叢集---②Windows平台搭建MySQL CLUSTER叢集