.部署MYSQL集群 --测试
最近把MYSQL集群给研究了下,并做了一个测试,且成功了!现在总结如下:
一、规划好节点
MGM:192.168.79.135
NDB1:192.168.1.79.136
NDB2:192.168.1.79.139
SQL1:192.168.1.79.137
SQL2:192.168.1.79.138
二、基础环境如下
Red Hat Enterprise Linux Server release 5.4
MGM包括:
MySQL-Cluster-gpl-client-7.1.15a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-management-7.1.15a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-tools-7.1.15a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-extra-7.1.15a-1.rhel5.i386.rpm
NDB与SQL包括:
MySQL-Cluster-gpl-client-7.1.15a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-server-7.1.15a-1.rhel5.i386.rpm
MySQL-Cluster-gpl-storage-7.1.15a-1.rhel5.i386.rpm
三、配置方法
1、MGM安装
rpm -ivh MySQL-Cluster-gpl-client-7.1.15a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-management-7.1.15a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-tools-7.1.15a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-extra-7.1.15a-1.rhel5.i386.rpm
2、NDB与SQL安装
rpm -ivh MySQL-Cluster-gpl-client-7.1.15a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-server-7.1.15a-1.rhel5.i386.rpm
rpm -ivh MySQL-Cluster-gpl-storage-7.1.15a-1.rhel5.i386.rpm
四、配置启动文件
1、MGM文件
config.ini内容
[ndbd default]
NoOfReplicas=1
DataMemory=80M
IndexMemory=18M
[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M
[NDB_MGMD DEFAULT]
PortNumber=1186
[ndb_mgmd]
nodeid=1
hostname=192.168.79.135
DataDir=/home/mysql-cluster
[ndbd]
nodeid=2
DataDir=/home/mysql/data
hostname=192.168.79.136
[ndbd]
nodeid=5
DataDir=/home/mysql/data
hostname=192.168.79.139
[mysqld]
nodeid=3
hostname=192.168.79.137
[mysqld]
nodeid=4
hostname=192.168.79.138
2、NDB与SQL启动文件
my.cnf内容
[MYSQLD]
ndbcluster
ndb-connectstring=192.168.79.135
[MYSQL_CLUSTER]
ndb-connectstring=192.168.79.135
五、启动
节点的启动顺序是管理节点--------数据节点---------SQL节点
1、管理节点
ndb_mgmd -f /home/mysql-cluster/config.ini
2、NDB节点
ndbd --initial --ndb-connectstring=192.168.79.135:1186
3、SQL节点
mysqld_safe
六、测试运行
登录到mysqld的客户端,然后
show variables like 'have%';
show variables like 'have%';
可以看到
have_ndbcluster 为 YES,说明ndbcluster引擎已经打开。
可以建立一个ndbcluster引擎的表测试下看是否成功
create table test (aa int) engine=ndbcluster;
insert into test values(11);
insert into test values(22);
以上方法有部份借鉴网友,以及查询相关资料,只要环境正确,以上方法就可以配置成MYSQL集群成功!