在windows環境下搭建mysql叢集

來源:互聯網
上載者:User

標籤:

1. 前(fei)言(hua)

最近實訓老師給我們布置了一個建立mysql叢集的任務,並扔了兩個部落格連結給我們參考,然後就沒有然後了。根據老師給的部落格上面的步驟試了一下,發現並不能成功建立,於是自己百度,找到了一個挺靠譜的部落格,於是參考了一下,感覺總體還是不錯的~

靠譜的部落格:
http://blog.csdn.net/mazhaojuan/article/details/42211857

2. 理論基礎知識

首先需要瞭解什麼是管理節點、資料節點和SQL節點~

(1)管理結點:從名字可以看出來,這種結點的作用就是管理其他結點的,這個節點可以查看其他資料節點和SQL節點的串連狀態,並可以控制這些的節點重啟。

(2)資料節點:這些節點的作用就是存放資料,每個資料節點都有這個mysql叢集的全部資料(資料冗餘),也就是只要存在一個能運行就可以了~

(3)SQL節點:這些節點向外提供SQL介面,所有資料庫操作都發往這裡,也是只要存在一個能運行就可以~

(ps:本文側重實際操作,理論基礎知識請自行百度學習~)

3. 實際操作過程(博主的作業系統是WIN10~)

以下使用5台電腦來實現mysql叢集(1個管理節點,2個資料節點,2個SQL節點)

管理節點的IP:192.168.1.66

資料節點1的IP:192.168.1.50

資料節點2的IP:192.168.1.53

SQL節點1的IP:192.168.1.63

SQL節點2的IP:192.168.1.56

(1)到mysql官網下載一個解壓版的mysql cluster,在下面~

根據自己的作業系統選擇

下載完成後解壓

(2)組態管理節點

在管理節點的C盤建立一個mysql檔案夾,然後在mysql檔案夾下建立一個bin檔案夾和mysql-cluster檔案夾。在剛剛解壓出來的檔案夾中的bin檔案夾下找到ndb_mgm.exe和ndb_mgmd.exe,然後複製到剛剛建立的bin檔案夾下,並在此檔案夾下新cluster-logs檔案夾、config.ini檔案和my.ini檔案。

編輯config.ini檔案:

[ndbd default] # Options affecting ndbd processes on all data nodes: # Number of replicas 資料節點數NoOfReplicas=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 管理節點 IPHostName=192.168.1.66             # Directory for management node log files 管理節點日誌存放路徑DataDir=C:/mysql/bin/cluster-logs [ndbd] # Options for data node "1":                                # (one [ndbd] section per data node) # Hostname or IP address 資料節點1 IPHostName=192.168.1.50        [ndbd] # Options for data node "2": # Hostname or IP address 資料節點2 IPHostName=192.168.1.53          [mysqld] # SQL node options: # Hostname or IP address sql節點1 IPHostName=192.168.1.63     [mysqld] # SQL node options: # Hostname or IP address sql節點2 IPHostName=192.168.1.56 

編輯my.ini檔案:

[mysql_cluster]# Options for management node process config.ini存放路徑config-file=C:/mysql/bin/config.ini

(2)配置資料節點:

在資料節點1建立C:\mysqlcluster\datanode\mysql檔案夾,在這個mysql檔案夾中建立一個bin檔案夾和cluster-data檔案夾,在這個建立bin檔案夾中建立一個也叫cluster-data的檔案夾。接下來將解壓的檔案夾中data目錄下所有檔案複製到C:\mysqlcluster\datanode\mysql\cluster-data,再到解壓檔案夾中的bin目錄下複製一個ndbd.exe到C:\mysqlcluster\datanode\mysql\bin,最後再建立一個my.ini檔案。

編輯my.ini:

[mysql_cluster] # Options for data node process: # location of management server 管理節點IPndb-connectstring=192.168.1.66 

由於資料節點2的配置與這個一毛一樣,你可以選擇再弄一次加深印象,也可以在資料節點2先建立C:\mysqlcluster\datanode,然後偷懶把這個資料節點1的C:\mysqlcluster\datanode下的mysql檔案夾整個複製到資料節點2的C:\mysqlcluster\datanode目錄下。

(3)配置SQL節點

在SQL節點1建立C:\mysqlcluster\sqlnode\mysql檔案夾,將安裝包檔案解壓到mysql目錄下,然後在C:\mysqlcluster\sqlnode\mysql下建立my.ini檔案

編輯my.ini:

[mysqld] # Options for mysqld process: # run NDB storage engine ndbcluster                       # location of management server 管理節點IPndb-connectstring=192.168.1.66

記得要把my-default.ini 檔案刪除或更名為其他名字

SQL節點2的配置和SQL節點1一毛一樣,自己看著辦~

(4)開啟mysql cluster

A、先開啟SQL節點的服務:(dos命令列)

如果沒有安裝MySQL服務,則到SQL節點進入C:\mysqlcluster\sqlnode\mysql\bin目錄下,使用mysqld –install安裝MySQL服務,使用net start mysql命令啟動MySQL服務

如果已經安裝了MySQL服務,則直接使用net start mysql命令啟動MySQL服務

SQL節點2也做相同操作

B、為root使用者指派遠端連線的相關許可權

到管理節點進入C:\mysqlcluster\sqlnode\mysql\bin目錄下,使用mysql -uroot -p,然後輸入密碼(預設為空白)

然後輸入

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘%‘ IDENTIFIED BY ‘root‘ WITH GRANT OPTION;

C、啟動管理節點

到管理節點開啟命令列視窗,切到C:\mysql\bin目錄,輸入

ndb_mgmd -f config.ini --configdir=C:\mysql\mysql-cluster

這個視窗不能關掉,否則服務不可用。

開啟

D、啟動資料節點

到資料節點1開啟命令列視窗,切到C:\mysqlcluster\datanode\mysql\bin,輸入 ndbd

資料節點1:

資料節點2操作相同:

E、啟動SQL節點

到SQL節點1開啟命令列視窗,切到C:\mysqlcluster\sqlnode\mysql\bin,輸入:
mysqld –console

SQL節點1

SQL節點1啟動完成:

SQL節點2操作相同

4. 測試

到任意一個SQL節點建立資料庫,在建立的資料庫裡面建立一張表

create database db;use db;create table t (id int) engine=ndbcluster;

到另一個SQL節點查詢看看能否看到建立的資料庫db和表t,如果有那就沒問題了~

show databases;use db;show tables;

在windows環境下搭建mysql叢集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.