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
验证 :集群是否能够解决单点故障?
是否能实现数据自动备份?