【圖】Windows Server 2008R2配置MySQL Cluster教程詳解

來源:互聯網
上載者:User

配置環境

VMware:(版本10.0.01)

作業系統:Windows Server 2008 R2 Enterprise

VM1:192.168.220.103 管理節點(MGM),資料節點(NDBD1),SQL節點(SQL1)

VM2:192.168.220.104 資料節點(NDBD2),SQL節點(SQL2)

MySQL Cluster版本:7.3.7 (MSI Installer)  下載地址:http://dev.mysql.com/downloads/cluster/

測試載入器:Navicate for MySQL

關知識

簡介:

MySQL Cluster 是一種技術,該技術允許在無共用的系統中部署“記憶體中”資料庫的 Cluster 。通過無共用體繫結構,系統能夠使用廉價的硬體,而且對軟硬體無特殊要求。此外,由於每個組件有自己的記憶體和磁碟,不存在單點故障。

MySQL Cluster 由一組電腦構成,每台電腦上均運行著多種進程,包括MySQL伺服器,NDB Cluster 的資料節點,管理伺服器,以及(可能)專門的資料訪問程式

特點: http://www.mysql.com/products/cluster/features.html

三種節點:

管理節點:用於管理叢集共它節點; 守護進程ndb_mgmd

資料節點:用於儲存叢集的資料; 守護進程ndbd

SQL節點:用於串連資料節點;守護進程mysqld

詳情請參考:參考手冊中MySQL Cluster章節

配置過程

在VM1和VM2上安裝MySQL Cluster(mysql-cluster-gpl-7.3.7-winx64)

選擇typical安裝,安裝目錄均為:C:Program FilesMySQLMySQL Cluster 7.3

在VM1和VM2上的Windows 資源管理員中開啟C:Program FilesMySQL,在此目錄下建立檔案夾MySQL Server 5.6,然後在建立的MySQL Server 5.6檔案夾下建立mysql-cluster檔案夾

建立檔案夾的路徑分別為:C:Program FilesMySQLMySQL Server 5.6

C:Program FilesMySQLMySQL Server 5.6mysql-cluster

在VM1的Windows 資源管理員開啟目錄C:Program FilesMySQLMySQL Cluster 7.3,並在此目錄下建立一個config.ini檔案

 

 代碼如下 複製代碼

[ndbd default]

NoOfReplicas=2

[ndb_mgmd]

NodeId=1

HostName=192.168.220.103

DataDir=C:Program FilesMySQLMySQL Cluster 7.3data

[ndbd]

NodeId=21

HostName=192.168.220.103

DataDir=C:Program FilesMySQLMySQL Server 5.6mysql-cluster

[ndbd]

NodeId=22

HostName=192.168.220.104

DataDir=C:Program FilesMySQLMySQL Server 5.6mysql-cluster

[mysqld]

NodeId=11

HostName=192.168.220.103

[mysqld]

NodeId=12

HostName=192.168.220.104

 

在VM1和VM2的資源管理員中開啟目錄C:Program FilesMySQLMySQL Cluster 7.3,並在此目錄下建立一個my.ini檔案

 

 代碼如下 複製代碼

[mysqld]

character_set_server=utf8

basedir="C:Program FilesMySQLMySQL Cluster 7.3"

datadir="C:Program FilesMySQLMySQL Cluster 7.3data"

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

ndbcluster

ndb-connectstring=192.168.220.103

explicit_defaults_for_timestamp=true

[mysql_cluster]

ndb-connectstring=192.168.220.103

 

在VM1和VM2中設定環境變數(非必需,文中並未用到,都會CD轉到到相應目錄去執行命令)

電腦右鍵屬性 (或者 控制台系統和安全系統)--->進階系統配置--->"進階"選擇卡--->環境變數--->系統變數中找到 Path--->編輯--->加上C:Program FilesMySQLMySQL Cluster 7.3bin

注意:多個路徑用分號分隔

設定檔主要參數介紹:

[NDBD]:定義了叢集的資料節點

[MYSQLD]:定義了叢集的MySQL伺服器節點

[MGM]或[NDB_MGMD]:定義了叢集的管理伺服器節點

[NDB_MGMD]Id:節點唯一的標識

[NDBD]NoOfReplicas:全域參數僅能在[NDBD DEFAULT]中設定,它定義了叢集中每個表儲存的副本數。該參數還指定了節點群組的大小。節點群組指的是儲存相同資訊的節點集合

[NDBD]DataDir:該參數指定了存放追蹤檔案、記錄檔、 pid檔案以及錯誤記錄檔的目錄

[MYSQLD]basedir:使用指定目錄作為根目錄

[MYSQLD]datadir:使用指定目錄讀取資料庫檔案

在管理節點(MGM)機器上(VM1)中開啟CMD視窗執行如下命令,啟動管理節點

 

 代碼如下 複製代碼

cd "C:Program FilesMySQLMySQL Cluster 7.3bin"

db_mgmd.exe --config-file="C:Program FilesMySQLMySQL Cluster 7.3config.ini" --configdir="C:Program FilesMySQLMySQL Cluster 7.3"

 

注意:warning資訊不影響,兩台機器組態管理節點和資料節點在一台機器上的原因,並不會引起叢集失敗

在資料節點(NDBD1)機器上(VM1)中新開啟CMD視窗執行如下命令,啟動資料節點

cd "C:Program FilesMySQLMySQL Cluster 7.3bin"

ndbd.exe --initial

注意:--initial只有初次執行需要,以後執行ndbd.exe就可以(參考手冊裡的意思應該是當需要清理叢集檔案時才使用,所以這個參數應該要慎用或者提前備份)

在SQL節點(SQL1)機器上(VM1)中新開CMD視窗執行如下命令,啟動SQL節點

 

 代碼如下 複製代碼

cd "C:Program FilesMySQLMySQL Cluster 7.3bin"

mysqld.exe --default-file="C:Program FilesMySQLMySQL Cluster 7.3my.ini"

mysqld --install

net start mysql

 

注意:執行mysqld --install 你可以在電腦的伺服器看到名為“MySQL”的服務,在執行net start mysql,在服務中可以看到MySQL服務為“啟動”狀態

在資料節點(NDBD2)機器上(VM2)中新開啟CMD視窗執行如下命令,啟動資料節點

 

 代碼如下 複製代碼

cd "C:Program FilesMySQLMySQL Cluster 7.3bin"

ndbd.exe

 

在SQL節點(SQL2)機器上(VM2)中新開CMD視窗執行如下命令,啟動SQL節點

 

 代碼如下 複製代碼

cd "C:Program FilesMySQLMySQL Cluster 7.3bin"

mysqld.exe --default-file="C:Program FilesMySQLMySQL Cluster 7.3my.ini"

mysqld --install

net start mysql

 

檢查配置

在管理節點(MGM)機器上(VM1)中開啟CMD視窗執行如下命令

 

 代碼如下 複製代碼

ndb_mgm.exe

show

 

如上圖狀態,表示安裝成功!

同步測試

在VM1和VM2上安裝Navicat for MySQL(安裝步驟省略)

在VM1和VM2上開啟Navicat for MySQL並建立串連(樣本建立串連分別為:192.168.220.103和192.168.220.104) 安裝後預設使用者名為root,沒有密碼

在192.168.220.103中建立資料庫wilson_mysqlcluster_test,在192.168.220.104中查看

發現192.168.220.104中也出現wilson_mysqlcluster_test

在192.168.220.104中的wilson_mysqlcluster中建一個tb_test表,注意引擎選擇“ndbcluster”,在192.168.220.103中可以看到也會有tb_test表出現

測試在192.168.220.103或192.168.220.104中增、刪、改操作,兩個資料庫都會同步

故障測試

在VM2中停止SQL節點,在192.168.220.103上插入一條資料(原本有2條資料),再啟動VM2上的SQL節點,看是否能正常同步

1.在VM2中CMD視窗執行如下命令停止MySQL服務

net stop msyql

2.在192.168.220.103中插ID為3的資料後,執行如下命令,再次啟動VM2中的MySQL服務,查看192.168.220.104中資料是否完整

net start mysql

測試結果如圖:得到完整資料

其它測試就不一一列舉了

總結

配置前仔細看了MySQL參考檔案MySQL Cluster章節
MySQL Cluster配置過程還是比較容易出錯,配置過程中大小錯誤遇到非常多(目錄、SQL節點not connected、MYSQL服務無法啟動、資料無法同步等等),根據CMD上錯誤和記錄檔尋找對應的解決方案
注意啟動順序會少遇到很多錯誤:管理節點--->資料節點--->SQL節點
生產環境建議用至少3台伺服器去配置,需要修改一下config.ini檔案,配置過程與兩台沒什麼差別

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.