首页 > 代码库 > mysql集群

mysql集群

MySQL集群

1、 Mysql集群中服务器的角色:

客户端:访问集群,访问工具mysql
数据节点:存储表中的记录,至少2台

Sql节点:客户端访问集群的接口,至少2台

管理节点:管理集群中的所有主机,1台

2、 实验环境

准备5台服务器,操作系统rhel6,能够正常通信

Service  mysql   stop

Chkconfig   mysql  off

[root@localhost ~]#rpm  -qa  | grep  -i  mysql

[root@localhost ~]# rpm -e --nodeps MySQL-server

[root@localhost ~]# rpm -e --nodeps MySQL-client

[root@localhost ~]# rpm -e --nodeps MySQL-shared-compat

[root@localhost ~]# rpm -e --nodeps MySQL-embedded

[root@localhost ~]# rpm -e --nodeps MySQL-test

[root@localhost ~]# rpm -e --nodeps MySQL-devel

mv  /etc/my.cnf   删掉或移走

3、 在所有主机安装软件包

[root@localhost ~]# tar vxf

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

[root@localhost ~]#rpm vUh  MySQL-cluster-*rpm(7个)

Mysql集群软件提供3种进程:

mysql进程(数据库服务):在sql节点上运行

ndbd进程:把数据写入数据节点,在数据节点上运行

mgmd管理进程:在mgm节点上运行

进程启动时加载自己的配置config.Ini,部署集群中主机的角色

4、 配置管理节点

(1) 编写管理节点运行时加载的配置文件config.ini

Mkdir  /var/log/mysql-cluster

Vim  /etc/config.ini

[ndbd  default]  

NoOfReplicas=2

DataMemory=80M  

IndexMemory=18M

[ndb_mgmd]  

nodeid=1  

hostname=192.168.10.253

datadir=/var/log/mysql-cluster  

[ndbd]

nodeid=2  

hostname=192.168.10.10

datadir=/mysql-cluster/data

[ndbd]

nodeid=3

hostname=192.168.10.20  

datadir=/mysql-cluster/data

[mysqld]

nodeid=4

hostname=192.168.10.100

[mysqld]

nodeid=5

hostname=192.168.1.200

(2) 编辑数据节点(192.168.10.10、192.168.10.20)

mkdir  -p   /mysql-cluster/data

vim /etc/my.cnf

[mysqld]

datadir=/mysql-cluster/data  

ndb-connectstring=192.168.10.253

ndbcluster  

[mysql_cluster]

ndb-connectstring=192.168.10.253

5、 配置SQL节点(192.168.10.100、192.168.10.200)

vim /etc/my.cnf

[mysqld]

ndbcluster  

default-storage-engine=ndbcluster

[mysql_cluster]

ndb-connectstring=192.168.10.253

6、 启动服务

(1) 启动管理进程

ndb_mgmd  -f  /etc/config.ini

ndb_mgm

>show

(2) 启动数据节点:

ndbd  (--initial)     //启动

停止数据进程:pkill  -9 ndbd

(3) 启动sql节点:service  mysql   start   数据库目录/var/lib/mysql

验证 :集群是否能够解决单点故障?

 是否能实现数据自动备份?