100%搭建成功 Mysql-Cluster-7.5集群

目录

  1. 序言
  2. 下载
  3. 安装
  4. 测试
  5. 启动/关闭
  6. 总结

 序言

 如何应对业务量非常庞大的情景?你可以选择负载均衡你的数据库请求,但还是有一定的关于数据同步的问题。在业务量不大的时候,我们会使用主从复制的方法实现服务器数据同步,虽然进行了读写分离,但是对于读的方法限制还是比较大,所以解决数据同步的问题就是数据库集群的意义。

PS:博主已经将所有坑踩了一遍,只要按照步骤架设,100%成功

下载

OS: CentOS 6.7 三台, 使用VM ware虚拟机搭建,仅主机模式,IP 地址分别为:(192.168.0.100 ,192.168.0.101 192.168.0.102)

MySQL Cluster 版本:mysql-cluster-gpl-7.5.1 , 下载地址请点击此处: 32位 | 64位

需要注意的是:

MySQL Cluster 已经包含 MySQL5.7 不需要在进行下载

管理节点(MGM):MySQL Cluster 负责管理、配置、监控整个集群。

数据节点(NDB):使用内存存放数据,保存进数据节点的数据都会自动复制并存储到其他数据节点。

MySQL节点(API):也叫SQL节点,和我们平时使用的MySQL相同,作为数据库使用,数据节点和SQL节点可以在同一台机子上

安装

MGM(管理节点) 安装步骤:

你可以通过 wget 获取,也可以使用上方所提供的连接进行下载。

如果通过上方的连接下载,请将下载好的文件通过WinSCP 将文件传输到 /usr/local 下(注:每台虚拟机都要)

解压

tar zxvf mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64.tar.gz

进入解压之后的目录

cd mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64

将 NDM_MGM 拷到系统目录下 ,并且赋予执行权限 方便使用

cp bin/ndb_mgm* /usr/local/bin 

cd /usr/local/bin

chmod +x ndb_mgm*

新建配置文件 && 初始化管理节点

mkdir /var/lib/mysql-cluster

mkdir /usr/local/mysql

vi /var/lib/mysql-cluster/config.ini

以下是关于 config.ini 的配置

[ndbd default]
NoOfReplicas=2
DataMemory=512M
IndexMemory=18M

[ndb_mgmd]
HostName=192.168.0.100
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.0.101
DataDir=/var/lib/mysql-cluster

[ndbd]
HostName=192.168.0.102
DataDir=/var/lib/mysql-cluster

[mysqld]
HostName=192.168.0.101

[mysqld]
HostName=192.168.0.102

初始化管理节点

/usr/local/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

当显示 MySQL Cluster Management Server mysql-5.7.23 ndb-7.5.11 表示初始化成功

安装 && 配置数据节点 和 MySQL节点

以下的所有操作需要在所有的集群节点都要进行相同的操作!!!

 

新增 用户和用户组

groupadd mysql

useradd -g mysql -s /bin/false mysql

新建文件夹并赋予权限

mkdir /var/lib/mysql-cluster

chown root:mysql /var/lib/mysql-cluster

解压

tar zxvf mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64.tar.gz

创建短文件名的目录链接 并 切换目录

ln -s /usr/local/mysql-cluster-gpl-7.5.11-linux-glibc2.12-x86_64 /usr/local/mysql

cd /usr/local/mysql/bin

初始化 MySQL

./mysqld --initialize

注意:初始化成功后会产生随机密码,之后登录数据库会用到,请在notepad记录

紧接着切换到MySQL根目录

 chown -R root .

 mkdir data

 chown -R mysql data

 chgrp -R mysql .

 cp support-files/mysql.server /etc/rc.d/init.d/

 chmod +x /etc/rc.d/init.d/mysql.server

 chkconfig --add mysql.server

配置数据节点

vi /etc/my.cnf
在原有的基础上按照规则 添加如下配置
[mysqld]
ndbcluster
ndb-connectstring=192.168.0.100

[mysql_cluster]
ndb-connectstring=192.168.0.100

启动MySQL节点

/etc/init.d/mysql.server start

登录MySQL 以及修改密码 和允许远程访问

cd bin 

./mysql -uroot -p # 将刚才存储的随机MySQL密码 复制进来

以下是 MySQL 命令:

use mysql;

UPDATE userSET HOST = '%' WHERE USER ='root'; # 允许远程访问

ALTER USER 'root'@'localhost'IDENTIFIED BY '这里填你要修改的密码'; # 修改密码

启动NDB

/usr/local/mysql/bin/ndbd --initial

如果出现以下信息表示启动成功

2018-08-30 21:21:20 [ndbd] INFO     -- Angel connected to '192.168.0.100:1186'
2018-08-30 21:21:20 [ndbd] INFO     -- Angel allocated nodeid: 2

查看节点状态

进入 /usr/local/bin 输入 ndb_mgm

在 ndb_mgm 命令行输入 show 如以下所示

Cluster Configuration
---------------------
[ndbd(NDB)]	2 node(s)
id=2	@192.168.0.101  (mysql-5.7.23 ndb-7.5.11, Nodegroup: 0, *)
id=3	@192.168.0.102  (mysql-5.7.23 ndb-7.5.11, Nodegroup: 0)

[ndb_mgmd(MGM)]	1 node(s)
id=1	@192.168.0.100  (mysql-5.7.23 ndb-7.5.11)

[mysqld(API)]	2 node(s)
id=4	@192.168.0.101  (mysql-5.7.23 ndb-7.5.11)
id=5	@192.168.0.102  (mysql-5.7.23 ndb-7.5.11)

如果你已到达这一步,表示已经安装成功!

测试

使用Navicat for MySQL 创建两台连接,在任意一个连接创建数据库/表/记录 你会发现所有连接的数据都是同步的

注:建表时请注意 存储引擎 为 ENGINE=NDBCLUSTER

启动 && 停止

启动顺序:MGM初始化 —》 MySQL节点启动 —》 NDB启动 

管理节点关闭命令:ndb_mgm -e shutdown

NBD关闭 初始化 去掉 --initial 即可

总结

爱生活,爱代码!以后想好再补吧

 

 

你可能感兴趣的:(Mysql)