Maison  >  Article  >  base de données  >  Linux下构建MySQL集群

Linux下构建MySQL集群

WBOY
WBOYoriginal
2016-06-07 16:43:581186parcourir

使用6台RHEL 6.5虚拟机,如图所示。其中sql1和sql2作为SQL节点,ndb1和ndb2作为数据节点,mgmsvr作为管理节点,这5个构成MySQL集

一、目标

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即可。

Linux下构建MySQL集群

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

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

MySQL-5.5.38通用二进制安装

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

三、实现

1、准备工作

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

关闭防火墙:

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

    # service iptables stop      //关闭防火墙

    # chkconfig iptables off    //开机不自启

关闭selinux:

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

  # getenforce 0

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

官方提供的MySQL-Cluster相关软件包(可在这里获得  )已集成数据库服务端/客户端程序,因此可直接用来替换普通的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

更多详情见请继续阅读下一页的精彩内容:

linux

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn