MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。(
一、简介
Mysql-cluster分为:
1. 管理节点:管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等
2. 数据节点:用于保存 Cluster的数据
3. Sql节点:用来访问 Cluster数据的节点
二、安装
此安装为1个管理节点,2个数据节点,2个sql节点,安装在两台机器,一台机器:管理节点,数据节点,sql节点,另一台:数据节点,sql节点
节点名称 |
IP |
管理节点 |
192.168.1.111 |
数据节点1 |
192.168.1.111 |
数据节点2 |
192.168.1.112 |
Sql节点1 |
192.168.1.111 |
Sql节点2 |
192.168.1.112 |
三、安装步骤
1. 为mysqld增加一个登陆用户组,两台服务器都需要
# groupadd mysql
# useradd –g mysqlmysql
2. 安装管理节点
# tar zxvf mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64.tar.gz
# mv mysql-cluster-gpl-7.3.7-linux-glibc2.5-x86_64/*/opt/mysql –r
创建mysql-cluster目录,并配置config.ini
# mkdir/apps/mysql/mysql-cluster
# cd/apps/mysql/mysql-cluster
# vi config.ini
内容如下:
[ndbddefault] NoOfReplicas=2 (代表sql节点的数量) DataMemory=500M indexMemory=300M [tcpdefault] SendBufferMemory=2M ReceiveBufferMemory=2M [ndb_mgmddefault] PortNumber=1186 Datadir=/apps/mysql/mysql-cluster [ndb_mgmd] NodeId=1 HostName=192.168.1.111 [ndbd] NodeId=2 HostName=192.168.1.111 DataDir=/apps/mysql/data [ndbd] NodeId=2 HostName=192.168.1.112 DataDir=/apps/mysql/data [mysqld] NodeId=3 Hostname=192.168.1.111 [mysqld] NodeId=3 Hostname=192.168.1.112
3. 安装数据节点
Vi /etc/my.cnf
如下:
[mysqld] datadir=/opt/mysql/ndbdata port =3306 ndbcluster #数据节点(因为在一台机器所以合并) ndb-connectstring=192.168.1.111 port =3307 [mysql_cluster] ndb-connectstring = 192.168.1.111
4. 安装sql节点
Vi /etc/my.cnf
如下:
Vi /etc/my.cnf 如下: [mysqld] datadir=/opt/mysql/ndbdata port =3306 ndbcluster #数据节点(因为在一台机器所有合并) ndb-connectstring=192.168.1.111 port =3307 [mysql_cluster] ndb-connectstring = 192.168.1.111
next:(安装mysqld)
# cd /opt/mysql
# ./scripts/mysql_install_db –user=mysql (安装到了 /opt/mysql/ndbdata)
5. 开始启动cluster
开启顺序: 管理节点->数据节点->sql节点
管理节点启动
# cd /opt/mysql
# ./bin/ndb_mgmd –f /apps/mysql/mysql-cluster/config.ini --configdir=/mnt/mysql/mysql-cluster
数据节点启动(两个节点都要启动,不然sql节点不能启动)
# cd /opt/mysql
# ./bin/ndbd –-initial –-ndb-connectstring=192.168.1.111:1186
Sql节点启动
# cd /opt/mysql/ndbdata
# ../bin/mysqld_safe –user=mysql &
6. 查看
# cd /opt/mysql/
# ./bin/ndb_mgm –e show
Connectedto Management Server at:
192.168
.
1.111
:
1186
ClusterConfiguration
---------------------
[ndbd(NDB)]
1
node(s)
id=
2
@192
.168.
1.111
(mysql-
5.6
.
21
ndb-
7.3
.
7
, Nodegroup:
0
, *)
id=
3
@192
.168.
1.112
(mysql-
5.6
.
21
ndb-
7.3
.
7
, Nodegroup:
0
, *)
[ndb_mgmd(MGM)]
1
node(s)
id=
1
@192
.168.
1.111
(mysql-
5.6
.
21
ndb-
7.3
.
7
)
[mysqld(API)]
1
node(s)
id=
4
@192
.168.
1.112
(mysql-
5.6
.
21
ndb-
7.3
.
7
)
id=
5
@192
.168.
1.112
(mysql-
5.6
.
21
ndb-
7.3
.
7
)