MySQL集群安装与配置

    MySQL Cluster 是一种技术,该技术允许在无共享的系统中部署“内存中”数据库的 Cluster 。通过无共享体系结构,系统能够使用廉价的硬件,而且对软硬件无特殊要求。此外,由于每个组件有自己的内存和磁盘,不存在单点故障。

MySQL Cluster 由一组计算机构成,每台计算机上均运行着多种进程,包括MySQL服务器,NDB Cluster 的数据节点,管理服务器,以及(可能)专门的数据访问程序。

    “NDB” 是一种“内存中”的存储引擎,它具有可用性高和数据一致性好的特点。

下面我们简单介绍MySQL Cluster如何安装与配置:

基本设定
管理(MGM)节点:192.168.1.235
MySQL服务器(SQL)节点:192.168.1.236
数据(NDBD)节点"A":192.168.1.237
数据(NDBD)节点"B":192.168.1.238


一、mysql集群安装

mysql的集群安装可以有三种方式,一是直接下载二进制使用,二是使用rpm安装,三是源码编译。我们这里使用第二种安装。

1.1、每个节点做相同的操作

rpm -qa | grep mysql    //查询系统已安装的mysql程序包;

rpm -e XXX --nodeps    //XXX 为上面查找出来的所有程序包;

yum -y install libaio libaio-devel    // 安装IO程序开发包;

cd /usr/local/src/    //进入用户src目录,你也可以自行选择;

wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.3/MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar    //下载mysql cluster 32位安装包;

tar xvf MySQL-Cluster-gpl-7.3.7-1.el6.i686.rpm-bundle.tar    // 解压下载好的安装包;

mkdir -p /var/lib/mysql/data

mkdir -p /var/run/mysqld

chmod -R 1777 /var/lib/mysql

chmod -R 1777 /var/run/mysqld

rpm -ivh MySQL-Cluster-server-gpl-7.3.7-1.el6.i686.rpm    //安装完,会有提示root的密码存放在/roo/.mysql_secret文件;

rpm -ivh MySQL-Cluster-client-gpl-7.3.7-1.el6.i686.rpm

新建一个文件 vi /etc/my.cnf ,内容如下:

-------------------------------------------

[client]

socket=/var/lib/mysql/mysql.sock

[mysqld]

max_connections=100 

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

ndbcluster

ndb-connectstring=192.168.1.235

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

[mysql_cluster] 

ndb-connectstring=192.168.1.235

-------------------------------------------

1.2、配置管理节点

mkdir -p /var/lib/mysql-cluster

cd /var/lib/mysql-cluster

touch config.ini

vim config.ini ,内容如下:

--------------------------------------

[ndb_mgmd default]

DataDir=/var/lib/mysql-cluster

[ndb_mgmd]

HostName=192.168.1.235

[ndbd default]

NoOfReplicas=2

DataMemory=100M

IndexMemory=10M

[ndbd]

HostName=192.168.1.237

DataDir=/var/lib/mysql

[ndbd]

HostName=192.168.1.238

DataDir=/var/lib/mysql

[mysqld]

HostName=192.168.1.236

--------------------------------------

二、启动各节点

注意:节点的启动顺序为管理节点->数据节点->SQL节点

2.1、启动管理节点

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


2.2、启动数据节点
首次启动需要--initial参数初始化,下一次启动就不需要了

ndbd --initial


2.3、启动SQL节点

mysqld_safe  &


2.4、检查状态
如果一切正常,在管理节点执行命令 ndb_mgm -e show应该会输出类似信息:


[root@MGM mysql-cluster]# ndb_mgm -e show

Connected to Management Server at: 192.168.1.235:1186

Cluster Configuration

---------------------

[ndbd(NDB)]     2 node(s)

id=2    @192.168.1.237  (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0, *)

id=3    @192.168.1.238  (mysql-5.6.21 ndb-7.3.7, Nodegroup: 0)


[ndb_mgmd(MGM)] 1 node(s)

id=1    @192.168.1.235  (mysql-5.6.21 ndb-7.3.7)


[mysqld(API)]   1 node(s)

id=4    @192.168.1.236  (mysql-5.6.21 ndb-7.3.7)


2.5、测试SQL服务数据库是否正常

在SQL节点上执行如下数据库操作:

# mysql -uroot -p    //输入/root/.mysql_secret 文件里的密码;

mysql> set password password('xxxxxx');    //首次进入数据库,必须先更改root密码;

mysql> create database clusterdb;use clusterdb;

mysql> create table simples (id int not null primary key) engine=ndb;

mysql> insert into simples values (1),(2),(3),(4);

mysql> select * from simples;

如果出现:
+----+
| id |
+----+
| 1 |
| 2 |
| 4 |
| 3 |
+----+
则表示工作正常。

三、安全关闭和重启各节点

3.1、关闭mysql集群,可在管理节点在执行如下命令:

# ndb_mgm -e shutdown

3.2、重启管理节点

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

3.3、重启数据节点

# ndbd


你可能感兴趣的:(mysql,数据库,集群,cluster)