搭建MySQL-Cluster集群架构

2014-11-24 17:21:34 · 作者: · 浏览: 0

实验需求:部署MySQL集群,减少数据库单点故障。


实验方案:准备5台服务器,mgmd(192.168.100.1)作为管理节点,sqlA(192.168.100.2)和sqlB(192.168.100.3)作为SQL节点,ndbA(192.168.100.4)和ndbB(192.168.100.5)作为数据节点,这5个节点构成MySQL Cluster体系


实施过程:


一.公共配置


1.所有节点上安装MySQL集群软件


1.1所有节点卸载冲突包


官方提供的MySQL-Cluster相关软件包已集成数据库服务端/客户端程序,因此可直接用来替换普通的MySQL服务端/客户端程序。如果已安装有普通版的mysql-server、mysql、MySQL-server、MySQL-client包,请先将其卸载(若没有则忽略):


# service mysql stop


# chkconfig mysql off


# rpm -e --nodeps MySQL-server MySQL-client MySQL-shared MySQL-embedded MySQL-test MySQL-devel




1.2清理残余配置文件


mv /etc/my.cnf /etc/my.cnf.bak


useradd mysql




1.3 所有节点安装MySQL-Cluster相关软件包


# tar xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar


MySQL-Cluster-shared-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-shared-compat-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-server-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-client-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-test-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-devel-gpl-7.3.3-1.el6.x86_64.rpm


MySQL-Cluster-embedded-gpl-7.3.3-1.el6.x86_64.rpm


rpm -Uvh MySQL-Cluster-*.rpm


2.在SQL节点(sqlA、sqlB)服务器上,修改MySQL数据库的root密码


3.SQL节点添加授权数据库用户,方便客户端访问


mysql>grant all on*.*to'root'@'192.168.100.%'identifiedby'123456';


二.配置管理节点 mgmd (192.168.100.1)


1.创建工作文件夹


# mkdir -p /var/log/mysql-cluster




2.创建配置文件


[ndbd default]:为所有的数据节点指定默认配置。


[ndbd]:指定某一个数据节点的配置。


[ndb_mgmd default]:为所有的管理节点指定默认配置。


[ndb_mgmd]:指定某一个管理节点的配置。


[mysqld default]:为所有的SQL节点指定默认配置。


[mysqld]:指定某一个SQL节点的配置。


# vim /etc/config.ini


[ndbd default]


NoOfReplicas=2//保留2份数据拷贝


DataMemory=80M //数据缓存大小


IndexMemory=18M //索引缓存大小


[ndb_mgmd]


nodeid=1//第1个管理节点的ID号


hostname=192.168.100.1//此管理节点的地址


datadir=/var/log/mysql-cluster //此管理节点的工作目录


[mysqld]


nodeid=2//第1个SQL节点的ID号


hostname=192.168.100.2 //第1个SQL节点的地址


[mysqld]


nodeid=3//第2个SQL节点的ID号


hostname=192.168.100.3 //第2个SQL节点的地址


[ndbd]


nodeid=4//第1个数据节点的ID号


hostname=192.168.100.4 //第1个数据节点的地址


datadir=/mysql-cluster/data //第1个数据节点的工作目录,需创建


[ndbd]


nodeid=5//第2个数据节点的ID号


hostname=192.168.100.5//第2个数据节点的地址


datadir=/mysql-cluster/data //第2个数据节点的工作目录,需创建