Mysql Cluster7.5.6 windows10 部署安裝


 部署方法網上很多,以下是我的實踐過程,供大家參考。

1. 硬件:3台虛擬機,全是windows 10 x64

2. 網絡架構

  管理節點:192.168.37.128
  數據節點 / SQL節點: 192.168.37.129 / 192.168.37.130 (同一台機器同時存在數據節點與sql節點)

3. 安裝

  下載 mysql cluster : https://dev.mysql.com/downloads/cluster/ 

  ( 這里有個鏡像: http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/ )

  我這里下載的是官網的 mysql-cluster-gpl-7.5.6-winx64.zip

4. 配置

  4.1 管理節點: 在 192.168.37.128 的機子上創建以下目錄(一定是C盤),並在 bin 目錄下創建下以4個文件 , cluster-logs及mysql-cluster 是個空文件夾

  

  my.ini 內容如下

1 [mysql_cluster] 
2 # Options for management node process 
3 config-file=C:/mysql/bin/config.ini

 

  config.ini 內容如下

 1 [NDBD DEFAULT]
  #1: 表示只有一份數據,但是分成n塊分別存儲在n個數據節點上。2:數據被分成n/2塊,每塊數據都有2個備份,這樣即使有任意一個節點發生故障,只要它的備份節點正常,系統就可以正常運行
2 NoOfReplicas=2 3 DataDir=D:/mysqlCluster/datanode/mysql/bin/cluster-data 4 DataMemory=80M 5 IndexMemory=18M 6 7 [MYSQLD DEFAULT] 8 [NDB_MGMD DEFAULT] 9 [TCP DEFAULT] 10 11 [NDB_MGMD] 12 Nodeid=1 13 #管理節點服務器 14 HostName=192.168.37.128 15 # Storage Engines 16 DataDir=C:/mysql/cluster-logs 17 18 [NDBD] 19 Nodeid=2 20 #MySQL集群db1的IP地址 21 HostName=192.168.37.130 22 23 [NDBD] 24 Nodeid=3 25 #MySQL集群db2的IP地址 26 HostName=192.168.37.129 27 28 [MYSQLD] 29 Nodeid=4 30 HostName=192.168.37.130 31 32 [MYSQLD] 33 Nodeid=5 34 HostName=192.168.37.129 35 [MYSQLD] 36 [MYSQLD]

  ndb_mgm.exe 及 ndb_mgmd.exe是從下載的 mysql cluster包里面 copy , 我的是 mysql-cluster-gpl-7.5.6-winx64\bin 目錄里面

 

  4.2 數據節點 : 在192.168.37.129 機子上創建目錄 D:\mysqlCluster\datanode\mysql\bin\cluster-data , 並在 D:\mysqlCluster\datanode\mysql 新建 my.ini , 在 D:\mysqlCluster\datanode\mysql\bin 復制 ndbd.exe

   

  my.ini 內容如下

1 [mysql_cluster]    
2 # Options for data node process:  
3 ndb-connectstring=192.168.37.128

  ndbd.exe 是從下載的 mysql cluster包里面 copy , 我的是 mysql-cluster-gpl-7.5.6-winx64\bin 目錄里面。

 

  4.3 sql 節點: 在192.168.37.129 機子上創建目錄 D:\mysqlCluster\sqlnode\ , 復制 mysql-cluster-gpl-7.5.6-winx64 到 sqlnode 下 , 重命名 mysql-cluster-gpl-7.5.6-winx64 --> mysql , 創建 data 文件夾和my.ini

  my.ini 內容如下

1 [mysqld]
2 # Options for mysqld process:
3 ndbcluster                      # run NDB storage engine
4 ndb-connectstring=192.168.37.128  # location of management server

  4.3.1  注冊 mysql 服務 , 注冊成功在 windows 的服務里面多了一個 MySQL 的服務 (若服務已存在,請刪除 mysqld --remove mysql )

(以上命令必須以管理員身份運行。先初始化data目錄:以前5.6版本自帶data目錄,不需要這一步!如果沒有這一步會無法啟動mysql服務,報錯MYSQL 服務無法啟動,在初始化之前,務必將data目錄底下的文件刪除掉。

mysqld --initialize-insecure : 自動生成無密碼的root用戶;

mysqld --initialize : 是自動生成隨機密碼用戶;

)

 

因 192.168.37.130 與 192.168.37.129 配置一樣, 所以可以 D:\mysqlCluster 復制到 192.168.37.130 機子上(注冊服務要再做一次)

 

5. 啟動 : 啟動必須安順序,管理節點 --> 數據節點  --> sql 節點

  5.1 管理節點: 

      cd c:\mysql\bin

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

      (重新加載 config.ini 可加 --reload 參數)

      

  5.2 數據節點:  192.168.37.129 / 192.168.37.130

      

  5.3 sql 節點: 192.168.37.129 / 192.168.37.130

      管理節點及數據節點正常開啟后,只要sql節點的 MySQL 服務開啟就能連上,若沒有開啟,手動開啟就可以連上

      

 

全部運行完后可在 管理節點的機子上查看連接狀態,返加 192.168.37.128

      

 

6. 測試

  在192.168.37.129的機子上,打開DOS,進入 D:\mysqlCluster\sqlnode\mysql\bin,再鍵入命令mysql -u root -p,回車后提示你輸密碼,直接回車(mysqld --initialize-insecure : 自動生成無密碼的root用戶)

  1. create database test_db;

  2. use test_db;

  3. 創建表 ( 注:ENGINE=ndbcluster )

CREATE TABLE `country` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '國家id',
  `country_code` varchar(20) NOT NULL COMMENT '國家代碼',
  `name` varchar(20) NOT NULL COMMENT '國家名稱',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  UNIQUE KEY `country_code_UNIQUE` (`country_code`),
  UNIQUE KEY `name_UNIQUE` (`name`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8 COMMENT='國家';

 

  4. 向表插入數據

insert into country(country_code,name) values("003","EN");

 

  5. 到另一台 sql節點(192.168.37.130) 查看數據

select * from country;

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM