您好,欢迎访问一九零五行业门户网

如何配置MySQL集群在一台服务器

要配置一个cluster集群,至少得需要配置1个mgm(管理结点)+1个sql结点+2 data 结点mgm可以和sql结点共用一台机器,数据结点单独占
要配置一个cluster集群,至少得需要配置
1个mgm(管理结点)+1个sql结点+2 data 结点
mgm可以和sql结点共用一台机器,数据结点单独占一台服务器。
这样最少也需要3台服务器。
有时候这样会觉得很麻烦,如果是学习阶段,可考虑在单台服务器搭建一个mysql cluster。
下文就是教你如何在一台服务器上搭建cluster。
一,先确认cluster的包已经正确安装
[root@cluster-one ~]# rpm -aq|grep -i mysql
mysql-cluster-client-gpl-7.2.10-1.el6.x86_64
mysql-cluster-server-gpl-7.2.10-1.el6.x86_64
mysql-cluster-shared-compat-gpl-7.2.10-1.el6.x86_64
mysql-cluster-devel-gpl-7.2.10-1.el6.x86_64
二,创建如下几个配置文件,下面启动时要用到
[root@cluster-one mysqldata]# more config.ini
[ndbd default]
noofreplicas=2
[tcp default]
#portnumber=3388
[ndb_mgmd]
nodeid = 1
hostname=localhost
datadir=/mysqldata/clustermgmd-data/
[ndbd]
nodeid = 2
hostname=localhost
datadir=/mysqldata/clusterndb1-data/
[ndbd]
nodeid = 3
hostname=localhost
datadir=/mysqldata/clusterndb2-data/
[mysqld]
nodeid = 4
hostname=localhost
[mysqld]
nodeid = 5
hostname=localhost
[mysqld]
[root@cluster-one mysqldata]# more my1.cnf
[mysqld]
ndbcluster
socket=/data/socket/n1.sock
pid-file=/data/socket/n1.pid
log-error = /data/log/n1_err.log
port = 3501
[mysql_cluster]
ndb-connectstring=localhost
[root@cluster-one mysqldata]# more my2.cnf
[mysqld]
ndbcluster
socket=/data/socket/n2.sock
pid-file=/data/socket/n2.pid
log-error = /data/log/n2_err.log
port = 3502
[mysql_cluster]
ndb-connectstring=localhost
[root@cluster-one mysqldata]# more /etc/my.cnf
[mysqld]
ndbcluster
socket=/var/lib/mysql/mysql.sock
pid-file=/data/socket/mysqld.pid
datadir=/mysqldata/clusterapi
log-bin=mysql-bin
log-bin-index=mysql-bin.index
binlog-format=row
server-id=1
port = 3401
[mysql_cluster]
ndb-connectstring=localhost
[client]
socket=/var/lib/mysql/mysql.sock
三,分别启动所有结点 (需要注意的是,如果是第一次启动,请在  管理结点/数据结点 的启动参数后面加上 --initial)
启动结点之前,请确保,上面配置文件指定的目录都存在。
不存在,,请自行先创建一个,或是你修改配置文件指定其它目录。目录有:
/mysqldata/clustermgmd-data/
/mysqldata/clusterndb1-data/
/mysqldata/clusterndb2-data/
/mysqldata/clusterapi
/data/socket/mysqld.pid
/data/socket/
/data/log/
管理结点
[root@cluster-one ~]# ndb_mgmd -f /mysqldata/config.ini
mysql cluster management server mysql-5.5.29 ndb-7.2.10
数据结点1
[root@cluster-one ~]# ndbd --defaults-file=/mysqldata/my1.cnf
2013-12-20 02:35:42 [ndbd] info    -- angel connected to 'localhost:1186'
2013-12-20 02:35:42 [ndbd] info    -- angel allocated nodeid: 2
数据结点2
[root@cluster-one ~]# ndbd --defaults-file=/mysqldata/my2.cnf
2013-12-20 02:35:46 [ndbd] info    -- angel connected to 'localhost:1186'
2013-12-20 02:35:46 [ndbd] info    -- angel allocated nodeid: 3
查询结点,如果没有/etc/init.d/mysql这个文件,可以 把 “
/usr/share/mysql/mysql.server” 拷贝到/etc/init.d目录下,并改名为mysql
[root@cluster-one ~]# /etc/init.d/mysql start
starting mysql   
相关阅读:
搭建基于corosync+drbd的高可用mysql集群 
corosync+pacemaker+drbd+mysql 实现高可用(ha)的mysql集群
heartbeat+mysql+nfs 实现高可用(ha)的mysql集群
mysql集群架构全自动化实现切换(m-m-s-s)
suse linux 下 mysql集群配置
其它类似信息

推荐信息