查看mysql版本

分布式架构2:mysql集群(Mysql Cluster7.5.5)_mysql

mysqlcluster与mysql 版本对照表

分布式架构2:mysql集群(Mysql Cluster7.5.5)_数据_02

 

准备

硬件:3台服务器

管理服务器:192.168.1.4

节点服务器(包括数据节点及SQL节点):A:192.168.1.5;B:192.168.1.6

下载MySQLCluster: https://downloads.mysql.com/archives/installer/

 

配置

1. 管理服务器

C盘创建mysql文件夹,mysql\bin文件夹,mysql\cluster-logs 空文件夹,mysql\mysql-cluster 空文件夹

mysql\bin下拷贝ndb_mgm.exe、ndb_mgmd.exe(来源:mysql-cluster-gpl-7.5.5-winx64\bin)

mysql\bin下创建my.ini、config.ini

my.ini 内容如下



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


config.ini 内容如下



[NDBD DEFAULT]
#1: 表示只有一份数据,但是分成n块分别存储在n个数据节点上。2:数据被分成n/2块,每块数据都有2个备份,这样即使有任意一个节点发生故障,只要它的备份节点正常,系统就可以正常运行
NoOfReplicas=2
DataDir=D:/mysqlcluster/datanode/mysql/bin/cluster-data
DataMemory=80M
IndexMemory=18M

[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]

[NDB_MGMD]
Nodeid=1
#管理节点服务器
HostName=192.168.1.4
# Storage Engines
DataDir=C:/mysql/cluster-logs

[NDBD]
#MySQL集群db1的IP地址
Nodeid=2
HostName=192.168.1.5

[NDBD]
#MySQL集群db1的IP地址
Nodeid=3
HostName=192.168.1.6

[MYSQLD]
#MySQL集群db2的IP地址
Nodeid=4
HostName=192.168.1.5

[MYSQLD]
#MySQL集群db2的IP地址
Nodeid=5
HostName=192.168.1.6


分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_03  分布式架构2:mysql集群(Mysql Cluster7.5.5)_sql_04

2. 节点服务器(A节点配置拷贝至B节点,注意清空数据)

D盘创建文件夹mysqlcluster,创建子文件夹datanode、sqlnode

分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_05分布式架构2:mysql集群(Mysql Cluster7.5.5)_数据_06

 分布式架构2:mysql集群(Mysql Cluster7.5.5)_mysql_07分布式架构2:mysql集群(Mysql Cluster7.5.5)_sql_08

 

 

 my.ini 文件内容



[mysql_cluster]    
# Options for data node process:
ndb-connectstring=192.168.1.4


 

分布式架构2:mysql集群(Mysql Cluster7.5.5)_sql_09

 

分布式架构2:mysql集群(Mysql Cluster7.5.5)_mysql_10

my.ini 文件内容



[mysqld]
# Options for mysqld process:
ndbcluster # run NDB storage engine
ndb-connectstring=192.168.1.4 # location of management server


注册 mysql 服务 , 注册成功在 windows 的服务里面多了一个 MySQL 的服务 (若服务已存在,请删除 mysqld --remove mysql )

mysq服务卸载(管理员身份运行cmd)

d:

cd D:\mysqlcluster\datanode\mysql\bin

net stop mysql

cd D:\mysqlcluster\sqlnode\mysql\bin

mysqld --remove mysql

mysqld --initialize-insecure : 自动生成无密码的root用户;

mysqld --install

分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_11

当出现这样的错误时,清空数据

分布式架构2:mysql集群(Mysql Cluster7.5.5)_数据_12

 分布式架构2:mysql集群(Mysql Cluster7.5.5)_数据_13

 数据节点B(192.168.1.6) 同上

 

启动:必须按顺序,管理节点 --> 数据节点  --> sql 节点


管理节点 (192.168.1.4)

cd c:\mysql\bin

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

(重新加载 config.ini 可加 --reload 参数)

分布式架构2:mysql集群(Mysql Cluster7.5.5)_mysql_14

 

数据节点A(192.168.1.5)

d:

cd D:\mysqlcluster\datanode\mysql\bin

net start mysql (管理身份启动mysql服务)

ndbd (普通身份)

分布式架构2:mysql集群(Mysql Cluster7.5.5)_sql_15

 

数据节点B(192.168.1.6) 同上

 

测试

连接成功

管理节点(192.168.1.4)

分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_16

 

子节点测试

A节点(192.168.1.5)

d:

cd D:\mysqlcluster\sqlnode\mysql\bin

mysql -u root -p

create database test_db11;

use test_db11;

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='国家';

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

分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_17

 

B节点查询(192.168.1.6)

use test_db11;

select * from country;

分布式架构2:mysql集群(Mysql Cluster7.5.5)_服务器_18