mysql cluster 是一种技术,该技术允许在无共享的系统环境中部署“内存中”的数据库,cluster。

通过无共享体系结构,系统能够使用相对廉价的硬件,而且对其无特殊要求。 此外每个组件有自己的内存和磁盘,不存在单点故障。

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

接下来就是要搭建这样的环境了。

(一)准备好所需的机器:

首先确定好需要的三种角色:管理节点,数据节点,sql节点。

Manager节点:172.21.1.175

Sql 节 点:172.21.180 (同时也做data节点)

Data节点:172.21.1.181(同时也做sql节点)

因为资源有限,只用三台机。其实这三个角色部署在同一台机器上也是可以做的。只不过那样搭建出来也没意义。这里纯粹分享技术规则。

三台机器ip等配置无误之后,就需要安装mysql cluster了。

1.首先记得关闭linux系统的防火墙:

命令:service iptables stop

mysql的集群方式查询命令_配置文件


mysql的集群方式查询命令_mysql_02

2.查看节点上当前安装的mysql情况,如果有,卸载掉原先的:

rpm –qa |grep mysql

mysql的集群方式查询命令_mysql的集群方式查询命令_03


3. 卸载当前安装的mysql:

Rmp –e mysql-5.1.71-1.el6.x86_64

4 .然后在所有节点上都需要安装的(cluster环境里所有节点,全部管理节点、data节点、sql节点)!!!

我下载的rpm包:MySQL-Cluster-server-advanced-7.4.6-1.rhel5.x86_64.rpm

安装rpm包:

rpm -ivh MySQL-Cluster-server-advanced-7.4.6-1.rhel5.x86_64.rpm

mysql的集群方式查询命令_mysql的集群方式查询命令_04

(二) 接下来配置各节点配置文件:

主要配置文件有两种,后缀名分别为:.cnf 和 .ini。”.ini”这个文件只有管理节点上面有。

1. 配置 manager 节点

创建目录,存放日志文件

mkdir -p /var/log/mysql-cluster

修改属主

chown mysql.mysql /var/log/mysql-cluster

创建目录,用来存放相关参数文件

mkdir -p /usr/mysql-cluster

mysql的集群方式查询命令_mysql_05


这些目录是一定需要有的,并且牢记这两个路径。后面用得到。(至于权限,其实也可以不用改。)

2.修改config.ini配置文件。

(我的文件路径在/usr/mysql-cluster/config.ini)

mysql的集群方式查询命令_配置文件_06


其中[ndb_magd default]标签标示管理节点默认配置信息;

[ndb_mgmd]标签里是管理节点最主要的配置信息,记录了管理节点的ip,管理节点日志等文件存放路径、管理节点使用的端口号;

[ndbd default]标签里是所有data节点通用的配置,数据备份的数目、数据存放路径等;

[ndbd]标签就是记录data节点了,每一个标签下记录一个节点的信息,主要就是标识ip那一行,配置data节点时也要在data节点机器的配置文件里指定路径;

[mysqld]标签里记录的就是sql节点了,一个标签对应一个sql节点。因为sql节点不用存放数据,在对它的配置的时候是不用指定路径的。

空的[msyqld]标签是预留的。

(然后,因为我的管理节点也用来做data节点和sql节点了,所以它的my.cnf文件也需要相应的添加内容:

如下图

mysql的集群方式查询命令_mysql_07


这一步可以不要的。最后管理节点显示的时候,就少一个节点而已。)3.配置data节点:

在data节点的机器上编辑my.cnf文件

mysql的集群方式查询命令_sql_08


ndbcluster=on表示开启这个数据引擎

ndb-connectstring 表示连接的管理节点及其端口(默认就是1186,可以不加后面冒号和端口号)

[mysql_cluster]标签标识管理节点的信息,表示管理节点ip是175;

4.配置sql节点:

mysql的集群方式查询命令_mysql_09


(三)启动节点

配置完成后就要启动各节点:

1. 启动管理节点

Ndb_mgmd –initial –f /usr/mysql-cluster/config.ini

2. 启动数据节点

ndbd

3. 启动sql节点

Service mysql start

(因为180和181,同时既是sql节点,又是data节点,所以步骤2和3两台机器上都要执行)

(四)启动完成,查看节点状态

到管理节点上查看data节点和sql节点状态

Ndb_mgm –e show

mysql的集群方式查询命令_sql_10


或者使用命令ndb_mgm直接进入管理台里,直接使用show命令

mysql的集群方式查询命令_sql_11


到此,配置过程全部结束。

最后可以随心所欲使用mysql了。
使用mysql时是修改了默认root用户的密码的,连接上数据库后,我尝试了分别180和181建表、插入数据,在管理节点175上连接都是可以看到的。