快速,持续,稳定,傻瓜式
支持Mysql,Sqlserver数据同步

Mysql-NDB-Cluster-7.5搭建数据库集群

请联系QQ:1793040 索取软件

Mysql-Cluster是一个集群工具,并不能实现负载均衡,这一点和oracle的rac是有所区别的。不过mysql-cluster可以实现多台数据库之间的同步,虽然主从复制也能实现数据同步,主主复制也能实现2台数据库之间的同时读写要求,但是对于访问量比较大的系统通过配置cluster+负载均衡的方式就比较合适了。

一般来说,一个Mysql Cluster 的环境结构主要如下:


今天来找了份文档测试安装一下mysql-cluster:

环境说明:

mysql版本:5.7.21

mysql-cluster版本:7.5.6

整个框架应该包括:管理节点、数据节点以及mysql节点,分别的作用:

管理节点,mysql-cluster管理节点负责管理、配置、监控整个集群。

数据节点,使用内存存放数据,保存进数据节点的数据都会自动复制并存储到其他数据节点。

mysql节点,也叫数据库节点,和我们平时使用的mysql相同,作为数据库使用。被数据节点访问。

下面一段截自百度百科:

管理(MGM)节点:这类节点的作用是管理MySQL Cluster内的其他节点,如提供配置数据、启动并停止节点、运行备份等。由于这类节点负责管理其他节点的配置,应在启动其他节点之前首先启动这类节点。MGM节点是用命令”ndb_mgmd”启动的。
数据节点:这类节点用于保存 Cluster的数据。数据节点的数目与副本的数目相关,是片段的倍数。例如,对于两个副本,每个副本有两个片段,那么就有4个数据节点。不过没有必要设置多个副本。数据节点是用命令”ndbd”启动的。
SQL节点:这是用来访问 Cluster数据的节点。对于MySQL Cluster,客户端节点是使用NDB Cluster存储引擎的传统MySQL服务器。通常,SQL节点是使用命令”mysqld –ndbcluster”启动的,或将”ndbcluster”添加到”my.cnf”后使用”mysqld”启动。

各节点IPv如下:

管理节点:172.17.61.131

数据节点以及mysql节点:172.17.61.132,172.17.61.133

1.安装前的准备:

下载mysql-cluster工具:

http://mirrors.sohu.com/mysql/MySQL-Cluster-7.5/

我下载的是mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz

由于这些机器上之前都安装过Mysql,所以需要先stop掉mysql的服务,将相关mysql的数据文件以及原文件都删除干净,确保3306端口没有被占用,三台机器IP可以互通。

2.安装配置管理节点

将下载后的包上传至服务器/usr/local下

解压

# tar xvf mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz

将需要的文件取出

# cd mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64

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

# cd/usr/local/bin

# chmod +x ndb_mgm*

新建配置文件并且初始化管理节点

# mkdir/var/lib/mysql-cluster

# ln-s/usr/local/mysql/home/mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64

# vi/var/lib/mysql-cluster/config.ini


使用配置文件初始化管理节点

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

出现MySQL Cluster Management Server mysql-5.7.21 ndb-7.5.6

然后就能使用ndbd进去管理了(如果ndbd命令不行,就使用在/usr/local/bin目录下使用ndb_mgm命令)

# ndbd

ndb_mgm>show(使用show命令查看管理情况,当数据节点配置完毕之后,我们再用这个命令查看和管理)

到此为止管理节点配置完毕,接下去配置数据和sql节点

3.安装和配置数据和mysql节点

下面的操作需要在所有节点进行

新增用户组mysql和用户msyql

# groupadd mysql

# useradd-g mysql-s/bin/false mysql

新建文件夹并赋予权限

# mkdir/var/lib/mysql-cluster

# mkdir/u01/mysql

# chown root:mysql/var/lib/mysql-cluster

#chown mysql:mysql/u01/mysql

将下载后的包上传至服务器/usr/local下

解压

# tar xvf mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64.tar.gz

创建链接方便访问

# ln-s/usr/local/mysql-cluster-gpl-7.5.6-linux-glibc2.5-x86_64/usr/local/mysql

初始化数据库

/usr/loca/mysql/bin/mysqld–initialize–user=mysql–basedir=/usr/local/mysql–datadir=/u01/mysql

/usr/loca/mysql/bin/mysql_ssl_rsa_setup–datadir=/u01/mysql

配置自动启动

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

修改etc/rc.d/init.d/mysql的datadir以及basedir

# chmod +x/etc/rc.d/init.d/mysql

# chkconfig–add mysql

配置数据节点

# vi/etc/my.cnf

加上下面部分:


启动数据库:

service mysql start

初次登入需要修改密码,这个和普通安装mysql一样

启动ndbd#

/etc/init.d/ndbd–initial

如果上述不行使用绝对路径的这个:#/usr/local/mysql/bin/ndbd–initial如果出现下述现象就成功了

2018-05-09 14:14:24 [ndbd] INFO–Angel connected to ‘172.17.61.131:1186’2018-05-09 14:14:24 [ndbd] INFO–Angel allocated nodeid: 2

4.最后当所有的节点配置完成,回到管理节点,使用上述说过的show查看,如下的类似显示,证明已经连接完成


5.测试是否能够同步数据 :

创建表时必须使用ndbcluster引擎,否则无法同步数据

  • 表必须用ENGINE=NDB或ENGINE=NDBCLUSTER选项创建,或用ALTER TABLE选项更改,以使用NDB Cluster存储引擎在 Cluster内复制它们。如果使用mysqldump的输出从已有数据库导入表,可在文本编辑器中打开SQL脚本,并将该选项添加到任何表创建语句,或 用这类选项之一替换任何已有的ENGINE(或TYPE)选项。
  • 另外还请记住,每个NDB表必须有一个主键。如果在创建表时用户未定义主键,NDB Cluster存储引擎将自动生成隐含的主键。(注释:该隐含 键也将占用空间,就像任何其他的表索引一样。由于没有足够的内存来容纳这些自动创建的键,出现问题并不罕见)。

node1:


node2:


6.启动和关闭顺序

启动mysql集群。启动顺序为:管理节点→数据节点→SQL节点。

启动的命令上面都有,删去–initial即可

关闭时只需要关闭管理节点,后面的数据节点会同时被关闭,mysql就和原来一样即可

管理节点关闭命令:ndb_mgm-e shutdown

(执行完成之后管理节点会关闭,数据节点也会关闭,但SQL节点不会,也就是数据库服务需要手动到每一台服务器上停止以保证数据同步)

参考:

http://www.cnblogs.com/linkstar/p/6510713.html

相关推荐

咨询软件
 
QQ在线咨询
售前咨询热线
QQ1793040