`

Linux下构建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 http://www.linuxidc.com/Linux/2014-05/102366.htm

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF http://www.linuxidc.com/Linux/2014-03/98821.htm

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

Ubuntu 14.04下搭建MySQL主从服务器 http://www.linuxidc.com/Linux/2014-05/101599.htm

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群 http://www.linuxidc.com/Linux/2013-11/93019.htm

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb http://www.linuxidc.com/Linux/2013-08/89270.htm

MySQL-5.5.38通用二进制安装 http://www.linuxidc.com/Linux/2014-07/104509.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

更多详情见请继续阅读下一页的精彩内容 http://www.linuxidc.com/Linux/2014-09/106341p2.htm

分享到:
评论

相关推荐

    linux-基于DockerCompose构建的MySQLMHA集群

    基于Docker Compose构建的MySQL MHA集群

    《高性能Linux服务器构建实战Ⅱ》电子章节下载

    《高性能Linux服务器构建实战----系统安全、故障排查、自动化运维与集群架构》,简称《高性能Linux服务器构建实战Ⅱ》,此书是《高性能Linux服务器构建实战---运维监控、性能调优、集群应用》的姊妹篇,仍然沿用了...

    《高性能Linux服务器构建实战Ⅱ》源码包和实例代码1-6章

    《高性能Linux服务器构建实战----系统安全、故障排查、自动化运维与集群架构》,简称《高性能Linux服务器构建实战Ⅱ》,此书是《高性能Linux服务器构建实战---运维监控、性能调优、集群应用》的姊妹篇,仍然沿用了...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    第14章 构建MySQL+heartbeat+DRBD+LVS集群应用系统 14.1 MySQL高可用集群概述 14.2 heartbeat + DRBD高可用性方案的实现原理 14.3 部署MySQL高可用高扩展集群 14.3.1 配置之前的准备 14.3.2 DRBD的部署 ...

    《高性能Linux服务器构建实战Ⅱ》源码包和实例代码 7 14章

    《高性能Linux服务器构建实战----系统安全、故障排查、自动化运维与集群架构》,简称《高性能Linux服务器构建实战Ⅱ》,此书是《高性能Linux服务器构建实战---运维监控、性能调优、集群应用》的姊妹篇,仍然沿用了...

    高性能Linux服务器构建实战:运维监控、性能调优与集群应用

    《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》以构建高性能Linux服务器为核心内容,从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等多个方面深入讲解了如何构建高性能...

    基于Docker Compose构建的MySQL MHA集群.rar

    支持 AIX、BSDi、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、NetBSD、OpenBSD、OS/2 Wrap、Solaris、SunOS、Windows 等多种操作系统。 为多种编程语言提供了 API。这些编程语言包括 C、C++、C#、Delphi、...

    高性能Linux服务器构建实战视频(9讲)

    【】lvs keepalived搭建高可用的负载均衡集群系统 高俊峰视频【】mysql高可用集群 Drbd Heartbeat Mysql实例【】Oracle RAC集群体系 高俊峰视频 (高性能linux服务器构建实战)【】利用iSCSI搭建IP存储网络视频【】...

    linux集群应用实战

    在linux上配置iscsi initiator 第4讲 基于iscsi 在安全方面相关设定 课程目标: 如何管理和使用iscsi存储网络 initiator主机以ip认证方式获取iscsi target资源 initiator主机以密码认证方式获取iscsi target...

    基于Docker Compose构建的MySQL MHA集群.zip

    docker安装方法有多种,下面列举在Windows和Linux系统中的安装步骤:12 Windows系统中的安装方法: 对于Windows Server系统,可以使用Microsoft发布的PowerShell模块DockerMicrosoftProvider来安装。以管理员...

    在lvs+keepalived+MHA+MySQL下构建ecshop

    项目要达到搭建一个每日PV200W的电子商务网站,系统采用lvs+keepalived+mha+mysql 高可用架构, 本项目各个服务器操作系统均采用Centos7.5,数据库均为MYSQL5.7.23

    linux集群应用实战1-4源码 PPT

    最后,讲解了集群系统在企业级方面的应用,主要讲述了红帽集群套件RHCS开源HA heartbeat、负载均衡器LVS、Oracle集群数据库RAC、Mysql+DRBD集群等方面的应用案例,通过使用Linux搭建集群,可以用较低的价格来实现...

    MySQL管理之道 性能调优、高可用与监控.part2.rar

    以最新的mysql版本为基础,以构建高性能mysql服务器为核心,从故障诊断、表设计、sql优化、性能参数调优、mydumper逻辑、xtrabackup热备份与恢复、mysql高可用集群搭建与管理、mysql服务器性能和服务监控等方面多...

    Linux云计算运维笔记

    MySQL数据库实战 Redis数据库实战 shell脚本高手速成 Web大并发集群部署 Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 计算机网络基础 企业级监控系统-Zabbix ...

    Linux云计算运维-全集

    MySQL数据库实战 Redis数据库 shell脚本高手速成 Web大并发集群部署 Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 企业级监控系统-Zabbix 容器监控-Prometheus ...

    Linux运维工程师私人笔记,全部MD格式

    MySQL数据库实战 Redis数据库 shell脚本高手速成 Web大并发集群部署 Web服务器-Apache Web服务器-Nginx Web服务器-Tomcat 部署高可用集群 构建可视化数据分析系统-ELK 计算机网络基础 企业级监控系统-Zabbix 容器...

    JavaEE求职简历-姓名-JAVA开发工程师.docx

    熟练掌握 h5、css、js,能开发 web 前端 熟练使用 submit、HBuilder、eclipse、idea 等开发工具 ...熟悉 Redis 缓存技术,搭建哨兵、集群、主从以及使用 Jedis 来完成单机、连接池和集群下的操作熟悉使用 Docker

    Hadoop实战手册

    使用Mysql构建简单数据集市29#Mysql的两种引擎介绍29#创建一个数据表使用Hive cli 进行数据分析29#使用shell 编写Hsql 并使用HiveCli导出数据,使用Mysql命令加载到数据库中。29#使用crontab 新增每日运行任务定时器...

    基于muduo开发的集群聊天服务器c++源码+数据库+使用说明.zip

    在 Linux 环境下基于 muduo 开发的集群聊天服务器。实现新用户注册、用户登录、添加好友、添加群组、好友通信、群组聊天、保持离线消息等功能。 ## 项目特点 - 基于 muduo 网络库开发网络核心模块,实现高效通信 -...

Global site tag (gtag.js) - Google Analytics