一、搭建mysql集群
集群/群集:一组服务器提供相同的服务***以下方面只适用于ndbcluster存储引擎,其它类型请绕行!!!!!***1.mysql集群中服务器的角色数据节点 (ndbd):存储表里的数据SQL节点(sql):用户访问数据的接口、执行sql语句,不存储数据管理节点(mgmd):管理集群中的所有主机客户端 (client):访问数据 大致拓扑图: client(172.30.13.X) mgm 193 sql sql ndbd ndbd 191 192 8 9 2.流程思路:(1).在所有主机上安装提供机MySQL集群服务的软件包(2).给每种角色的主机编写对应的配置文件 config.ini my.cnf 3、在所有服务器上卸载mysql数据库服务软件,这里需要安装一个专用的mysql软件,主要目的是为了避免软件冲突service mysql stoprpm -qa | grep -i mysqlrpm -e --nodeps MySQL-server MySQL-shared MySQL-shared-compat MySQL-embeddedMySQL-client MySQL-devel MySQL-testrm -rf /etc/my.cnfls /var/lib/mysql/rm /var/lib/mysql/*4、在所有服务器上安装提供集群服务的软件包MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tarndbd进程 (ndbd节点) mysql服务(sql节点) mgmd进程(管理节点)tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tarrpm -Uvh MySQL-Cluster-*.rpmrpm -qa | grep -i "mysql-cluster"5、配置管理节点 ( 193 ) 管理集群中的所有主机,运行管理进程,这里需要在管理节点服务器新建一个config.ini文件,里面定义了设置主机的角色和运行参数; (启动管理进程时加载自己的配置config.ini) [ndbd default] 数据节点公共配置[ndb_mgmd] 设置管理主机[ndbd] 指定数据节点主机[mysqld] 指定sql节点vim /etc/config.ini[ndbd default] NoOfReplicas=2 //数据节点服务器个数DataMemory=80M //数据缓存 IndexMemory=18M [ndb_mgmd] nodeid=1 //管理节点编号,范围1-50 hostname=172.30.13.193 datadir=/var/log/mysql-cluster //管理信息存放目录[ndbd] nodeid=8 hostname=172.30.13.8 datadir=/var/log/mysql-cluster/data //在数据节点上创建 [ndbd] nodeid=9 hostname=172.30.13.9datadir=/var/log/mysql-cluster/data [mysqld] nodeid=20 hostname=172.30.13. 191[mysqld] nodeid=30 hostname=172.30.13.192mkdir -p /var/log/mysql-cluster6、配置数据节点(8 、9) (运行ndbd进程 /etc/my.cnf)mkdir -p /var/log/mysql-cluster/datavim /etc/my.cnf[mysqld]datadir=/var/log/mysql-cluster/data ndb-connectstring=172.30.13.193 //管理主机ipndbcluster //存储引擎 [mysql_cluster]ndb-connectstring=172.30.13.193 //谁来管理集群7、配置 sql 节点 (191、192) (运行数据库服务 /etc/my.cnf)vim /etc/my.cnf[mysqld]ndbcluster ndb-connectstring=172.30.13.193 //指定管理主机 default-storage-engine=ndbcluster [mysql_cluster]ndb-connectstring=172.30.13.1938、启动每种角色主机上对应的进程(1 启动管理主机上的管理进程ndb_mgmd -f /etc/config.ininetstat -utnlap | grep :1186ndb_mgm 登陆管理界面ndbcluster(2 启动数据节点上的数据进程[root@svr5 data]# ndbd2014-11-11 22:38:55 [ndbd] INFO -- Angel connected to '172.30.13.193:1186'2014-11-11 22:38:55 [ndbd] INFO -- Angel allocated nodeid: 8 (3 、启动sql 节点上的MySQL服务service mysql start(4、在sql节点上设置授权,在其它客户端验证cat /root/.mysql_secretmysql -uroot -pxxxxxmysql>grant all on *.* to jim@"%" identified by "123";9、在管理节点上查看所有主机的状态ndb_mgmshow(如果出现如下内容,则实验成功)Cluster Configuration---------------------[ndbd(NDB)] 2 node(s)id=28 @192.168.5.28 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0, *)id=29 @192.168.5.29 (mysql-5.6.14 ndb-7.3.3, Nodegroup: 0)[ndb_mgmd(MGM)] 1 node(s)id=1 @192.168.5.25 (mysql-5.6.14 ndb-7.3.3)[mysqld(API)] 2 node(s)id=26 @192.168.5.26 (mysql-5.6.14 ndb-7.3.3)id=27 @192.168.5.27 (mysql-5.6.14 ndb-7.3.3)