Redhat6.5 安装MySQL5.6集群

时间:2020-12-04 17:10:44

Redhat6.5 安装MySQL5.6集群

0、集群概述

         Mysqlcluster是一种使内存数据库集群在无共享系统中运行的技术,被设计来不会有任何单点故障,在无共享系统中每个硬件都被期望有自己的内存和硬盘,其他共享结构(NFS/SAN)都不会被推荐。集群使用的是NDB(network database)技术,NDB也指NDB引擎,集群就是mysql和NDB的结合体。

         集群由主机群组成,每个主机运行一个或者多个进程,这些进程也称为节点。节点包括mysql servers(用来访问NDB数据),data nodes(用来存放数据),managermentservers(用来管理)。

Redhat6.5 安装MySQL5.6集群

当数据被NDB存贮引擎存贮的时候,表和表数据被存贮在数据节点中。这些表可以直接从SQL节点访问。尽管MySQL节点使用mysqld服务进程,但是它与MySQL5.6distributions中的mysqld有很大的不同,两者不可以互换。另外,一个没有链接到MySQL集群的MySQL服务是不可以使用NDB引擎的也不可以访问MySQL集群的数据。单个节点可以关闭和重启,并且可以重新加入集群。轮番重启(按顺序重启)可以被用来改变配置和升级软件。轮番重启也可以用来在集群中加入新节点。

1、安装准备

机器信息:

管理节点

SQL节点

数据节点

10.160.18.34

10.160.18.34

10.160.18.34

10.160.18.35

10.160.18.35

本次安装中只有两台虚拟机,管理节点放在其中一台,SQL节点和数据节点都部署在同一台机器上。实际中管理节点通常单独一台,逻辑比较清晰。

所需安装包:mysql-cluster-gpl-7.4.7-linux-glibc2.5-x86_64.tar.gz

下载地址:http://dev.mysql.com/downloads/file.php?id=457970

2、开始安装

2.1建立用户

在节点10.160.18.34和10.160.18.35上操作:

解压集群软件mysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz到/usr/local目录下,该软件已经包含了数据库软件和集群套件。建立mysql用户,无需赋予远程登陆权限。

#groupadd mysql

# useradd –r –g mysql mysql   //-r无需登录系统

#cd /usr/local

#tar xvfmysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64.tar.gz

# ln –smysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64 mysql //建立链接

#chown –R mysql.mysqlmysql-cluster-advanced-7.3.5-linux-glibc2.5-x86_64 //修改权限

#chown –R mysql.msyql mysql //修改mysql目录权限

2.2 配置SQL和数据节点

在节点10.160.18.34和10.160.18.35上操作:

#mkdir –p /u01/app/mysql/data  //建立数据存放目录

#chown –R mysql.mysql /u01

#scripts/mysql_install_db –basedir=/usr/local/mysql–datadir=/u01/app/mysql/data –user=msyql

//安装数据库mysql

#cp bin/ndbd /usr/local/bin/

#cp bin/ndbmtd /usr/local/bin

#cp support-files/mysql.server/etc/rc.d/init.d/mysqld  //配置启动服务

# chkconfig –add mysqld

#cp my.cnf /etc/my.cnf

#vi /etc/my.cnf   //配置数据库启动文件

[mysqld]

ndbcluster

ndb-connectstring=10.160.18.34

basedir=/usr/local/mysql

datadir=/u01/app/mysql/data

port=3306

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

[mysql_cluster]

ndb-connectstring=10.160.18.34

在管理节点10.160.18.34上配置:

#cd /usr/local/mysql

#mkdir mysql-cluster

#cp bin/ndb_mgm* /usr/local/bin

#cd /var/lib

#mkdir mysql-cluster

#cd mysql-cluster

# vi config.ini

[ndbd default]

NoOfReplicas=1

DataMemory=80M

IndexMemory=18M

[tcp default]

[ndb_mgmd]

Hostname=10.160.18.34

Datadir=/var/lib/mysql-cluster

Nodeid=1

[ndbd]

Hostname=10.160.18.34

Datadir=u01/app/mysql/data

Nodeid=2

[ndbd]

Hostname=10.160.18.35

Datadir=/u01/app/mysql/data

Nodeid=3

[mysqld]

Hostname=10.160.18.34

Nodeid=4

[mysqld]

Hostname=10.160.18.35

Nodeid=5

3、集群管理

3.1启动集群

在管理节点10.160.18.34上,启动集群:

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

MySQL Cluster Management Servermysql-5.6.25 ndb-7.4.7

#ndb_mgm

ndb_mgm> show

Connected to Management Server at:10.160.18.34:1186

Cluster Configuration

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

[ndbd(NDB)]     2 node(s)

id=2 (not connected, accepting connect from10.160.18.34)

id=3 (not connected, accepting connect from10.160.18.35)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1   @10.160.18.34  (mysql-5.6.25ndb-7.4.7)

 

[mysqld(API)]   2 node(s)

id=4 (not connected, accepting connect from10.160.18.34)

id=5 (not connected, accepting connect from10.160.18.35)

可以看到,管理节点已经连接,数据节点和SQL节点还没有起来

在节点10.160.18.34和10.160.18.35上,启动数据节点:

#ndbd –initial  //启动数据节点

2015-07-23 09:32:21 [ndbd] INFO     -- Angel connected to '10.160.18.34:1186'

2015-07-23 09:32:21 [ndbd] INFO     -- Angel allocated nodeid: 3

再查看

ndb_mgm> show

Connected to Management Server at:10.160.18.34:1186

Cluster Configuration

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

[ndbd(NDB)]     2 node(s)

id=2   @10.160.18.34  (mysql-5.6.25ndb-7.4.7, Nodegroup: 0, *) //节点连接

id=3   @10.160.18.35  (mysql-5.6.25ndb-7.4.7, Nodegroup: 1) //节点连接

 

[ndb_mgmd(MGM)] 1 node(s)

id=1   @10.160.18.34  (mysql-5.6.25 ndb-7.4.7)

 

[mysqld(API)]   2 node(s)

id=4 (not connected, accepting connect from10.160.18.34)

id=5 (not connected, accepting connect from10.160.18.35)

#/service mysqld start

Starting MySQL...                                         [  OK  ]

再次查看

ndb_mgm> show

Connected to Management Server at:10.160.18.34:1186

Cluster Configuration

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

[ndbd(NDB)]     2 node(s)

id=2   @10.160.18.34  (mysql-5.6.25ndb-7.4.7, Nodegroup: 0, *)

id=3   @10.160.18.35  (mysql-5.6.25ndb-7.4.7, Nodegroup: 1)

 

[ndb_mgmd(MGM)] 1 node(s)

id=1   @10.160.18.34  (mysql-5.6.25ndb-7.4.7)

 

[mysqld(API)]   2 node(s)

id=4   @10.160.18.34  (mysql-5.6.25ndb-7.4.7)  //已经连接

id=5   @10.160.18.35  (mysql-5.6.25ndb-7.4.7)  //已经连接

 

3.2关闭集群

#service mysqld stop //关闭SQL节点

#ndb_mgm

Ndb_mgm>shutdown //关闭集群