部署环境
centos7最小化安装,每台1CPU2G内存
MySQL Cluster版本为 7.3.32(当前最新版)
下载地址:https://dev.mysql.com/downloads/cluster/
节点 | IP地址 | 功能 |
---|---|---|
node1 | 192.168.184.11 | 管理节点、数据节点、SQL节点 |
node2 | 192.168.184.12 | 数据节点、SQL节点 |
一、安装MySQL Cluster7.3
node1、node2
1.临时关闭防火墙和selinux
systemctl stop firewalld && setenforce 0
2.安装基础工具
yum install -y vim wget net-tools
3.下载MySQL Cluster7.3,上传到指定目录,解压安装,也可以在线下载
cd /usr/local/src/
wget https://dev.mysql.com/get/Downloads/MySQL-Cluster-7.3/mysql-cluster-gpl-7.3.32-linux-glibc2.12-x86_64.tar.gz
tar xzvf mysql-cluster-gpl-7.3.32-linux-glibc2.12-x86_64.tar.gz
mv mysql-cluster-gpl-7.3.32-linux-glibc2.12-x86_64 /usr/local/mysql
4.添加数据库用户
useradd mysql -s /usr/sbin/nologin
chown -R mysql:mysql /usr/local/mysql/
5.安装初始化工具
yum install -y perl-Data-Dumper
6.初始化集群
cd /usr/local/mysql/
./scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
- –user=mysql
指定用户,运行mysqld进程的用户 - –basedir=/usr/local/mysql
指定mysql安装路径 - –datadir=/usr/local/mysql/data
指定mysql数据路径
7.末尾添加数据库环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mysql/bin
8.加载环境变量
source /etc/profile
9.检测安装,查看版本
mysql -V
二、修改集群配置文件
node1
1.添加管理节点配置文件
vim /etc/config.ini
[ndb_mgmd default]
datadir = /usr/local/mysql/data
[ndbd default]
NoOfReplicas = 2
datadir = /usr/local/mysql/data
[ndb_mgmd]
NodeId = 1
HostName = 192.168.184.11
[ndbd]
NodeId = 11
HostName = 192.168.184.11
[ndbd]
NodeId = 12
HostName = 192.168.184.12
[mysqld]
NodeId = 21
HostName = 192.168.184.11
[mysqld]
NodeId = 22
HostName = 192.168.184.12
- NoOfReplicas
节点副本个数
三、修改数据库配置文件
node1、node2
1.重写数据库配置文件
vim /etc/my.cnf
[mysqld]
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
ndbcluster
ndb-connectstring = 192.168.184.11
[mysql_cluster]
ndb-connectstring = 192.168.184.11
2.复制文件
cp -rf /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
四、启动管理节点
启动顺序:Management Node > Data Node > SQL Node
node1
1.启动Management Node
/usr/local/mysql/bin/ndb_mgmd -f /etc/config.ini --initial
- –initial
第一次启动或在备份、恢复或配置变化后重启添加的参数
2.查看ndb_mgmd端口(1186)和进程
netstat -tlunp | grep ndb_mgmd
ps aux | grep ndb_mgmd
3.进入集群查看,只有自己的ndb_mgmd
ndb_mgm -e show
Connected to Management Server at: 192.168.184.11:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 (not connected, accepting connect from 192.168.184.11)
id=12 (not connected, accepting connect from 192.168.184.12)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32)
[mysqld(API)] 2 node(s)
id=21 (not connected, accepting connect from 192.168.184.11)
id=22 (not connected, accepting connect from 192.168.184.12)
五、启动数据节点
node1、node2
1.启动Data Node
/usr/local/mysql/bin/ndbd --initial
- –initial为第一次启动或在备份、恢复或配置变化后重启添加
2.查看ndbd端口和进程
netstat -tlunp | grep ndbd
ps aux | grep ndbd
3.进入集群查看,多了两个ndbd
ndb_mgm -e show
Connected to Management Server at: 192.168.184.11:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0, *)
id=12 @192.168.184.12 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32)
[mysqld(API)] 2 node(s)
id=21 (not connected, accepting connect from 192.168.184.11)
id=22 (not connected, accepting connect from 192.168.184.12)
六、启动管理节点
node1、node2
1.启动SQL Node
service mysqld start
service mysqld status
2.进入集群查看,配置成功
ndb_mgm -e show
Connected to Management Server at: 192.168.184.11:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0, *)
id=12 @192.168.184.12 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32)
[mysqld(API)] 2 node(s)
id=21 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32)
id=22 @192.168.184.12 (mysql-5.6.51 ndb-7.3.32)
3.设置SQL Node密码123456
mysqladmin -uroot password '123456'
4.登录数据库。
mysql -uroot -p123456
七、测试
node1
1.创建数据库db1
create database db1;
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| mysql |
| ndb_12_fs |
| ndbinfo |
| performance_schema |
| test |
+--------------------+
node2
2.查看数据库,同步创建db1
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| mysql |
| ndb_12_fs |
| ndbinfo |
| performance_schema |
| test |
+--------------------+
node1
3.关闭数据库,少一个节点
quit
service mysqld stop
ndb_mgm -e show
Connected to Management Server at: 192.168.184.11:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0, *)
id=12 @192.168.184.12 (mysql-5.6.51 ndb-7.3.32, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.184.11 (mysql-5.6.51 ndb-7.3.32)
[mysqld(API)] 2 node(s)
id=21 (not connected, accepting connect from 192.168.184.11)
id=22 @192.168.184.12 (mysql-5.6.51 ndb-7.3.32)
node2
4.node2创建数据库db2,数据依然同步
create database db2;
show databases;
node1
5.开启数据库,依然能查到新建的库
service mysqld start
mysql -uroot -p123456
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db1 |
| db2 |
| mysql |
| ndb_11_fs |
| ndbinfo |
| performance_schema |
| test |
+--------------------+