准备工作
官网下载MySQL Cluster 版本:7.6.9 (MSI Installer)
2台Windows主机 A(192.168.0.102)、B(192.168.0.104),下面涉及的IP请修改成你们自己的机器IP
下载的MySQL Cluster安装到A和B主机上,选择默认安装即可。注意:2台机器都要安装。
文中涉及到的端口需要开放防火墙,3306,1186
三大节点
管理节点:主机A
数据节点:主机A,主机B
SQL节点:主机A,主机B
管理节点配置
进入主机A,在目录 C:\Program Files\MySQL\MySQL Cluster 7.6 下新建2个文本文件,分别重命名为config.ini、my.ini
打开config.ini文件,输入以下内容
[ndbd default]
NoOfReplicas=2
MaxNoOfTables=1024
MaxNoOfUniqueHashIndexes=1024
MaxNoOfOrderedIndexes=1024
MaxNoOfAttributes=10000
[ndb_mgmd]
#主机A--管理节点
HostName=192.168.0.102
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.6\data\data1
[ndbd]
#主机A--数据节点
HostName=192.168.0.102
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.6\data\data2
[ndbd]
#主机B--数据节点
HostName=192.168.0.104
DataDir=C:\Program Files\MySQL\MySQL Cluster 7.6\data\data3
[mysqld]
#主机A--sql节点
HostName=192.168.0.102
[mysqld]
#主机A--sql节点
HostName=192.168.0.104
打开my.ini,输入以下内容
[mysql_cluster]
#指向管理节点
ndb-connectstring=192.168.0.102
[mysqld]
character_set_server=utf8
basedir="C:\Program Files\MySQL\MySQL Cluster 7.6"
datadir="C:\Program Files\MySQL\MySQL Cluster 7.6\data\data"
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
#指向管理节点
ndbcluster
ndb-connectstring=192.168.0.102
explicit_defaults_for_timestamp=true
配置好了,把这2个文件给主机B也复制一份(建议不要修改任何内容,老司机当我没说)
数据节点
到了这里,其实数据节点和sql节点的配置文件也好了。
SQL节点
sql节点的配置文件完成了,但是节点的数据库还需要安装,MySQL Cluster自带数据库,无需额外下载了。
进入C:\Program Files\MySQL\MySQL Cluster 7.6\bin(以下简称 “bin路径”),打开cmd(直接在地址栏输入cmd敲回车,下面不再重复),按以下步骤进入初始化数据库。主机A,B进行相同的操作
1.mysqld --initialize --console 这时会在控制台输出一个初始密码,把它存储起来
2.mysqld install [服务名] 安装mysql,若机器以前未安装过mysql,请指定一个新服务名
3.net start mysql 启动mysql服务
4.mysql -uroot -p 登陆
5.password 输入初始密码
6.alter user 'root'@'localhost' identified by '你的密码'; 修改初始密码
7.GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; 允许远程连接
启动服务
启动管理节点
进入主机A的“bin路径”,打开cmd,输入以下命令
ndb_mgmd.exe --config-file="C:\Program Files\MySQL\MySQL Cluster 7.6\config.ini" --configdir="C:\Program Files\MySQL\MySQL Cluster 7.6"
运行成功会显示“MySQL Cluster Management Server mysql-5.7.25 ndb-7.6.9”,不要关闭此窗口,关了服务就没了
启动数据节点
进入主机A的“bin路径”,打开cmd,输入以下命令
ndbd.exe --initial
进入主机B的“bin路径”,打开cmd,输入以下命令
ndbd.exe --initial
启动sql节点
上面在配置sql节点时已经安装了mysql服务,下面进入Windows服务列表,启动MySQL(由于本人之前安装过mysql,所以这次新装的mysql服务名为mysql2)。2台机器都要启动
再次进入主机A的“bin路径”,打开cmd,输入以下命令 进入管理页面
ndb_mgm.exe
然后再次输入
show
显示各节点运行情况
验证
随便连接一个sql服务器,比如A,新建一个test库,用以下命令创建一个表
CREATE TABLE `user` (
`id` int(8) NOT NULL,
`username` varchar(55) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=utf8;
再随便插入一条数据,到B服务器查看,你会发现B服务器也新建了相同的库和表,并且数据一致。
注意:存储引擎必须是 ENGINE=ndbcluster,否则无法生效。
参考资料:
https://www.cnblogs.com/harryliu/p/4537485.html
https://blog.csdn.net/sinat_42759524/article/details/81776075