经典Mysql-cluster数据库集群搭建(windows)
来源:互联网 发布:mac版yy怎么录音 编辑:程序博客网 时间:2024/05/23 01:19
一、下载
官方下载地址:
https://dev.mysql.com/downloads/cluster/
选择相应的系统版本,选择zip格式
介绍:
集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。
MySQL集群技术在分布式系统中为MySQL数据提供了冗余特性,增强了安全性,使得单个MySQL服务器故障不会对系统产生巨大的负面效应,系统的稳定性得到保障。
一个mysql集群包含三个节点:管理节点,数据节点和sql节点。
启动顺序为:管理节点,数据节点,sql节点。
管理节点只能一个,数据节点和sql节点可以根据需要设置个数。
管理节点:(也可以称管理服务器)主要负责管理数据节点和SQL节点,还有集群配置文件和集群日志文件。它监控其他节点的工作状态,能够启动、关闭或重启某个节点。其他节点从管理节点检索配置数据,当数据节点有新事件时就把事件信息发送给管理节点并写入集群日志。
数据节点:负责存储数据
SQL节点:通过它进行sql操作。
准备:
两台windows系统的主机。
第一台机器,IP 为 192.168.1.1,作为管理节点(MGM NodeId=1),数据节点1(NDBD NodeId=2),SQL节点1(SQL NodeId=3)。
第二台机器,IP 为 192.168.1.2,作为 数据节点2(NDBD NodeId=4),SQL节点2(SQL NodeId=5)。
二、安装
1。解压zip格式,放到D盘下(其他盘也可以),作为数据节点和SQL节点。例:D:\mysql-cluster-gpl-7.4.17-winx64\
在D:\mysql-cluster-gpl-7.4.17-winx64\下创建文件my.ini
2。启动mysql,在其\bin\目录下执行命令,
mysqld.exe -install mysql
net start mysql
mysql -uroot -p,然后输入密码,设置root用户密码。(注:刚安装的MySQL,默认密码为空!)
use mysql;
为root用户分配远程连接的相关权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
3。在D盘新建文件夹mysql-cluster,作为管理节点。例:D:\mysql-cluster\
在D:\mysql-cluster\下新建文件夹data(数据文件)和logs(数据日志)
在D:\mysql-cluster\下创建文件config.ini
4。将D:\mysql-cluster-gpl-7.4.17-winx64\bin\目录下的 ndb_mgmd.exe ,
复制到D:\mysql-cluster\下
三、配置
配置管理节点
D:\mysql-cluster路径下
config.ini
----------------------------------------------------------------------------------------------------------------------------
[NDBD DEFAULT]
#每个数据节点的镜像数量
NoOfReplicas=1
#每个数据节点的数据文件的目录
DataDir=D:/mysql-cluster/data
#每个数据节点中给数据分配的内存
DataMemory=120M
#每个数据节点中给索引分配的内存
IndexMemory=20M
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
#管理节点配置
[NDB_MGMD]
NodeId=1
HostName=192.168.1.1
#管理节点数据(日志)目录
DataDir=D:/mysql-cluster/logs
#数据节点配置
[NDBD]
NodeId=2
HostName=192.168.1.1
#数据节点目录
DataDir=D:/mysql-cluster-gpl-7.4.17-winx64/data
#SQL节点配置
[MYSQLD]
NodeId=3
HostName=192.168.1.1
[NDBD]
NodeId=4
HostName=192.168.1.2
datadir=D:/mysql-cluster-gpl-7.4.17-winx64/data
[MYSQLD]
NodeId=5
HostName=192.168.1.2
[MYSQLD]
#一定要留一个空的,以备扩展使用,
#否则会出现Failed to allocate nodeid No free node id found for ndbd(NDB)错误
----------------------------------------------------------------------------------------------------------------------------
配置数据节点
D:\mysql-cluster-gpl-7.4.17-winx64路径下
my.ini
----------------------------------------------------------------------------------------------------------------------------
#NDB集群节点
[mysql_cluster]
#管理节点的ip
ndb-connectstring=192.168.1.1
[ndbd]
#管理节点的ip
ndb-connectstring=192.168.1.1
----------------------------------------------------------------------------------------------------------------------------
配置SQL节点
D:\mysql-cluster-gpl-7.4.17-winx64路径下
my.ini
----------------------------------------------------------------------------------------------------------------------------
#SQL集群节点
[mysqld]
ndbcluster
ndb-connectstring=192.168.1.1
default-storage-engine=ndbcluster
----------------------------------------------------------------------------------------------------------------------------
其他主机的数据节点和SQL节点配置一样,只是ip地址不一样。
四、启动
1。启动管理节点
D:\mysql-cluster路径下执行命令行
ndb_mgmd.exe --configdir=d:\mysql-cluster --config-file=d:\mysql-cluster\config.ini --reload --initial
出现:
MySQL Cluster Management Server mysql-5.6.38 ndb-7.4.17
表示成功
如果出现:
Mixing of localhost (default for [NDBD]HostName) with other hostname(192.168.1.180) is illegal
则删除config.ini里多余的[ndbd]
2。启动数据节点
D:\mysql-cluster-gpl-7.4.17-winx64\bin\路径下执行命令
ndbd.exe --initial
初始化之后,只运行 ndbd.exe 即可。若带参数 –initial 运行,将使正常运行的群集系统中,数据节点的数据全部丢失。
3。启动SQL节点(管理和数据节点都启动后,再启动所有的SQL节点)
只需要正常启动mysql服务就可以了
如果有配置修改,则需要关闭后重新启动。可参考http://blog.csdn.net/zq33312757/article/details/51934879
4。查看集群信息
D:\mysql-cluster-gpl-7.4.17-winx64\bin\路径下执行命令
ndb_mgm.exe
ndb_mgm>show,查看配置
出现
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.1.1 (mysql-5.6.38 ndb-7.4.17, Nodegroup: 0, *)
id=4 @192.168.1.2 (mysql-5.6.38 ndb-7.4.17, Nodegroup: 1)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.1.1 (mysql-5.6.38 ndb-7.4.17)
[mysqld(API)] 3 node(s)
id=3 @192.168.1.1 (mysql-5.6.38 ndb-7.4.17)
id=5 @192.168.1.2 (mysql-5.6.38 ndb-7.4.17)
id=6 (not connected, accepting connect from any host)
表示成功
ndb_mgm> ndb_mgm -e shutdown,关闭SQL节点的服务
五、测试
对一个数据库进行操作,另一个数据会有同样的变化,表示搭建成功。
注意!表需要设置ndbcluster引擎
例:
建表时
create table user(
id mediumint unsigned not null auto_increment primary key,
name varchar(20) not null default ''
) engine = ndbcluster default charset utf8;
查看表结构
show table status from db_name where name='table_name';
修改表引擎
alter table table_name engine=ndbcluster;
修改表字符集编码
alter table table_name convert to character set utf8;
- 经典Mysql-cluster数据库集群搭建(windows)
- 经典Mysql-cluster数据库集群搭建(linux)
- Windows系统搭建Mysql Cluster集群
- Windows平台搭建MySQL CLUSTER集群
- Windows下构建Mysql Cluster集群数据库
- MySQL集群---②Windows平台搭建MySQL CLUSTER集群
- mysql cluster集群搭建
- mysql cluster集群搭建
- 手把手教你用Mysql-Cluster-7.5搭建数据库集群
- 手把手教你用Mysql-Cluster-7.5搭建数据库集群
- 手把手教你用Mysql-Cluster-7.5搭建数据库集群
- 手把手教你用Mysql-Cluster-7.5搭建数据库集群
- Mysql cluster集群的搭建
- mysql cluster数据库集群配置
- 数据库集群-Mysql-mysql-cluster 安装
- MySQL Cluster单机搭建集群环境
- Linux下 MySQL-cluster集群搭建
- linux 下搭建mysql-cluster集群环境
- leetcode-Longest Substring Without Repeating Characters
- 数组和链表的区别
- 生成均匀分布次序统计量的伪随机数 生成删失伪随机样本
- python web 部署:nginx + gunicorn + supervisor + flask 部署笔记
- 使用CSDN-markdown编辑器的技巧
- 经典Mysql-cluster数据库集群搭建(windows)
- 人工智能、机器学习和深度学习三者的关系
- JMockit
- NoClassDefFoundError: javax/servlet/jsp/jstl/core/Config
- C#游戏开发基础03
- IOS UITabBar 隐藏分割线
- 协程(IEnumerator)的使用
- Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /var/www/html/php..解决方案
- 冒泡排序(C语言)