热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux6mysql集群_Linux下构建MySQL集群

一、目标1.安装MySQL-Cluster相关软件包。2.依次配置管理数据SQL节点。3.启动并测试MySQL-Cluster集群架构。二

一、目标

1.安装MySQL-Cluster相关软件包。

2.依次配置管理/数据/SQL节点。

3.启动并测试MySQL-Cluster集群架构。

二、方案

使用6台RHEL 6.5虚拟机,如图所示。其中sql1和sql2作为SQL节点,ndb1和ndb2作为数据节点,mgmsvr作为管理节点,这5个构成MySQL集群体系的5个节点应安装Cluster版的MySQL相关软件包;测试用的Linux客户机只需安装普通版的MySQL-client即可。

0c03826ed39b21d80fb6994f1c4bbd26.png

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL http://www.linuxidc.com/Linux/2014-05/102351.htm

--------------------------------------分割线 --------------------------------------

三、实现

1、准备工作

1)确认各节点服务器的IP地址,使各节点能互通,防火墙和selinux处于关闭状态。

关闭防火墙:

# iptables -F                      //清空防火墙条目

# service iptables stop      //关闭防火墙

# chkconfig iptables off    //开机不自启

关闭selinux:

vim打开 /etc/selinux/config修改SELINUX=disabled

# getenforce 0

2)卸载所有节点上的冲突包

官方提供的MySQL-Cluster相关软件包(可在这里获得 http://pan.baidu.com/s/1pJv46j5 )已集成数据库服务端/客户端程序,因此可直接用来替换普通的MySQL服务端/客户端程序。如果已安装有普通版的mysql-server、mysql、MySQL-server、MySQL-client包,先将其卸载(若没有则忽略):

# rpm -qa | grep -i mysql        //检查有没有安装普通版的mysql软件

对于RHEL自带的mysql-libs暂时保留(如果直接卸载会因为依赖关系删除许多重要的包,比如crontab、postfix等),但在安装MySQl-Cluster相关包的时候采用“-U”升级的方式执行替换。

# rpm -e --nodeps MySQL-client

如果有残留的/etc/my.cnf文件,确保已转移备用或直接删除。

# mv /etc/my.cnf /etc/my.cnf.bak

3)在所有节点上,解压下载的MySQL-Cluster集合包

# tar xvf MySQL-Cluster-gpl-7.3.3-1.el6.x86_64.rpm-bundle.tar

MySQL-Cluster-shared-gpl-7.3.3-1.el6.x86_64.rpm

MySQL-Cluster-shared-compat-gpl-7.3.3-1.el6.x86_64.rpm    //安装共享库和兼容包

MySQL-Cluster-server-gpl-7.3.3-1.el6.x86_64.rpm                //安装服务端程序

MySQL-Cluster-client-gpl-7.3.3-1.el6.x86_64.rpm                //安装客户端程序

MySQL-Cluster-test-gpl-7.3.3-1.el6.x86_64.rpm

MySQL-Cluster-devel-gpl-7.3.3-1.el6.x86_64.rpm

MySQL-Cluster-embedded-gpl-7.3.3-1.el6.x86_64.rpm

在SQL节点(sql1、sql2)服务器上,修改MySQL数据库的root密码:

[root@sql1 ~]# service mysql start        //启动MySQL服务程序

Starting MySQL... [确定]

[root@sql2 ~]# cat /root/.mysql_secret

# The random password set for the root user at Wed Sep  3 21:04:20 2014 (local time): msA7Bq2B

[root@sql1 ~]# mysql –u root –pmsA7Bq2B            //以上述默认密码登录

mysql> set password=password("123456");

Query OK, 0 rows affected (0.17 sec)

在数据节点(ndb1、ndb2)和管理节点(mgmsvr)上,实际上并不需要启动MySQL服务程序,因此建议将mysql服务的自启状态设为关闭

[root@ndb1 ~]# chkconfig mysql off

4)在sql节点添加授权数据库用户

在SQL节点(sql1、sql2)服务器上,添加相应的授权数据库用户,以方便客户端使用数据库服务。以用户user为例,允许其从192.168.4.0/24网段访问:

mysql> grant all on *.* to user@'192.168.4.%' identified by "123456";

Query OK, 0 rows affected (0.03 sec)

2、配置管理节点mgmsvr(192.168.4.3)

1)创建工作文件夹

为管理节点提供一个工作目录,方便记录mysql集群相关的日志消息:

[root@mgmsvr ~]# mkdir /var/log/mysql-cluster

2)创建配置文件

在管理节点的配置文件中,应涵盖所有节点的设置,主要包括各节点的ID号、主机名或IP地址、工作目录等信息。

针对本实验,管理节点的配置参考如下:

[root@mgmsvr ~]# cat /etc/config.ini    //文件名可以随意

[ndbd default]                //为所有的节点指定默认配置

NoOfReplicas=2//保留2份数据拷贝

DataMemory=80M//数据缓存大小

IndexMemory=18M//索引缓存大小

[ndb_mgmd]//指定一个管理节点的配置,可以有多个管理节点

nodeid=3//节点的id号,作为节点的唯一识别码,不可以与其他节点相同

hostname=192.168.4.3  //节点的ip地址

datadir=/var/log/mysql-cluster  //该管理节点的工作目录

[ndbd]//指定数据节点的配置,每个数据节点对应一个ndbd配置

nodeid=4

hostname=192.168.4.4

datadir=/var/log/mysql-cluster/data

[ndbd]

nodeid=5

hostname=192.168.4.5

datadir=/var/log/mysql-cluster/data

[mysqld]//指定SQL节点的配置,每个SQL节点对应一个配mysqld置

nodeid=6

hostname=192.168.4.6

[mysqld]

nodeid=7

hostname=192.168.4.7

0b1331709591d260c1c78e86d0c51c18.png



推荐阅读
author-avatar
手机用户2502898443
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有