Linux系统中配置MySQL群集(MySQL Cluster)

MySQL群集需要有一组计算机,每台计算机的角色可能是不一样的。MySQL群集中有三种节点:管理节点、数据节点和SQL节点。群集中的某

Mysql群集(Cluster)简介

数据节点用于存储数据。

下图中画出了三种群集节点及应用程序间的关系:

一、配置环境:

MySQL:mysql-cluster-gpl-7.2.12-linux2.6-x86_64.tar.gz

节点配置情况:

hostname IP地址应用服务
DB1 172.16.10.160 MGM
DB2 172.16.10.161 NDBD1MYSQLD
DB3 172.16.10.162 NDBD2, MYSQLD
DB4 172.16.10.254 MYSQLD

二、管理节点:

(一)安装管理节点MGM

#groupadd mysql

#useradd mysql -g mysql

#mv mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz/usr/local/

#cd /usr/local/

#tar zxvfmysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#rm -fmysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#mv mysql-cluster-gpl-7.0.8a-linux-i686-glibc23mysql

#chown -R mysql:mysql mysql

(二)配置装管理节点MGM

#mkdir/var/lib/mysql-cluster

#cd /var/lib/mysql-cluster

[NDBD DEFAULT]

NoOfReplicas=2 #副本数量,建议使用默认的2

DataMemory=600M #每个数据节点中给数据分配的内存

IndexMemory=100M #每个数据节点中给索引分配的内存

BackupMemory: 20M

Nodeid= 1

[NDBD]

HostName=172.16.10.162

DataDir=/usr/local/mysql/data

HostName=172.16.10.161

[mysqld]

HostName=172.16.10.162

[mysqld]

HostName=172.16.10.254

[mysqld] #建议保留一个SQL节点配置口

()管理节点启动相关服务及测试:

#/usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

#netstat -lntpu

tcp 0 0 0.0.0.0:1186 0.0.0.0:* LISTEN 22907/ndb_mgmd

看到1186端口开放了说明启动是正常的.

ndb_mgmd -f /var/lib/mysql-cluster/config.ini --initial

#/usr/local/mysql/bin/ndb_mgm -e show

关闭管理节点,如下:

#/usr/local/mysql/bin/ndb_mgm -e shutdown

三、数据节点和SQL节点:

#groupadd mysql

#useradd mysql -g mysql

#mvmysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz /usr/local/

#cd /usr/local/

#tar zxvfmysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#rm -fmysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz

#mv mysql-cluster-gpl-7.0.8a-linux-i686-glibc23mysql

#chown -R mysql:mysql mysql

#cd mysql

#scripts/mysql_install_db --user=mysql

#cp support-files/my-medium.cnf /etc/my.cnf

#cp support-files/mysql.server /etc/init.d/mysqld

(二)配置数据节点和SQL节点

[mysqld]

(三)数据节点和SQL节点服务

启动数据节点

#/usr/local/mysql/bin/ndbd –initial #/usr/local/mysql/bin/ndbd

启动SQL节点

Service mysqld start

linux