搭建mysql集群

一、搭建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  stop
rpm  -qa | grep  -i  mysql
rpm -e  --nodeps  MySQL-server    MySQL-shared      MySQL-shared-compat    MySQL-embedded
MySQL-client        MySQL-devel     MySQL-test

rm -rf  /etc/my.cnf
ls /var/lib/mysql/
rm   /var/lib/mysql/*

4、在所有服务器上安装提供集群服务的软件包
MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

ndbd进程 (ndbd节点)   mysql服务(sql节点)   mgmd进程(管理节点)

tar -xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar
rpm -Uvh  MySQL-Cluster-*.rpm
rpm  -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.9
datadir=/var/log/mysql-cluster/data
[mysqld]      
nodeid=20                      
hostname=172.30.13. 191
[mysqld]      
nodeid=30                      
hostname=172.30.13.192

mkdir -p /var/log/mysql-cluster

6、配置数据节点(8 、9)
 (运行ndbd进程     /etc/my.cnf)
mkdir  -p  /var/log/mysql-cluster/data
vim  /etc/my.cnf
[mysqld]
datadir=/var/log/mysql-cluster/data      
ndb-connectstring=172.30.13.193   //管理主机ip
ndbcluster          //存储引擎            
[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.193


8、启动每种角色主机上对应的进程
(1  启动管理主机上的管理进程
ndb_mgmd  -f   /etc/config.ini
netstat  -utnlap  |   grep  :1186
ndb_mgm  登陆管理界面ndbcluster

(2  启动数据节点上的数据进程
[root@svr5 data]# ndbd
2014-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_secret
mysql  -uroot -pxxxxx
mysql>grant  all  on  *.*  to  jim@"%"  identified  by  "123";


9、在管理节点上查看所有主机的状态
ndb_mgm
show
(如果出现如下内容,则实验成功)
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)


你可能感兴趣的:(搭建mysql集群)