MySQL集群安装与配置

 

MySQL Cluster 是 MySQL 适合于分布式计算环境的高实用、高冗余版本。它采用了NDB Cluster 存储引擎,允许在1个 Cluster 中运行多个MySQL服务器。MySQL Cluster 能够使用多种故障切换和负载平衡选项配置NDB存储引擎,但在 Cluster 级别上的存储引擎上做这个最简单。下面我们简单介绍MySQL Cluster如何安装与配置。
基本设定
管理(MGM)节点:192.168.0.111
MySQL服务器(SQL)节点:192.168.0.110
数据(NDBD)节点"A":192.168.0.112
数据(NDBD)节点"B":192.168.0.113

一、mysql集群安装

mysql的集群安装可以有三种方式,一是直接下载二进制使用,二是使用rpm安装,三是源码编译。我们这里使用第一种安装。
1、每个节点做相同的操作

  1. cd /tmp
  2. wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gz
  3. tar xzf mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gz
  4. mv mysql-cluster-gpl-7.2.8-linux2.6-i686 /usr/local/mysql

注意:这里下载的是32位的二进制包,如果你的系统是64位,需要下载64位的包。
2、存储节点和SQL节点安装

  1. groupadd mysql
  2. useradd -g mysql mysql
  3. /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
  4. chown -R root /usr/local/mysql
  5. chown -R mysql /usr/local/mysql/data
  6. chgrp -R mysql /usr/local/mysql
  7. cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf

二、节点配置

1、配置存储节点和SQL节点

  1. vi /etc/my.cnf
  2. 类似于:
  3. # Options for mysqld process:
  4. [MYSQLD]
  5. ndbcluster                      # run NDB engine
  6. ndb-connectstring=198.168.0.111  # location of MGM node
  7. # Options for ndbd process:
  8. [MYSQL_CLUSTER]
  9. ndb-connectstring=198.168.0.111  # location of MGM node

2、配置管理节点

  1. mkdir /var/lib/mysql-cluster
  2. cd /var/lib/mysql-cluster
  3. vi config.ini
  4. config.ini文件应类似于:
  5. # Options affecting ndbd processes on all data nodes:
  6. [NDBD DEFAULT]
  7. NoOfReplicas=2    # Number of replicas
  8. DataMemory=80M    # How much memory to allocate for data storage
  9. IndexMemory=18M   # How much memory to allocate for index storage
  10. # For DataMemory and IndexMemory, we have used the
  11. # default values. Since the "world" database takes up
  12. # only about 500KB, this should be more than enough for
  13. # this example Cluster setup.
  14. # TCP/IP options:
  15. [TCP DEFAULT]
  16. portnumber=2202   # This the default; however, you can use any
  17. # port that is free for all the hosts in cluster
  18. # Note: It is recommended beginning with MySQL 5.0 that
  19. # you do not specify the portnumber at all and simply allow
  20. # the default value to be used instead
  21. # Management process options:
  22. [NDB_MGMD]
  23. hostname=198.168.0.111           # Hostname or IP address of MGM node
  24. datadir=/var/lib/mysql-cluster  # Directory for MGM node logfiles
  25. # Options for data node "A":
  26. [NDBD]
  27. # (one [NDBD] section per data node)
  28. hostname=198.168.0.112         # Hostname or IP address
  29. datadir=/usr/local/mysql/data   # Directory for this data node's datafiles
  30. # Options for data node "B":
  31. [NDBD]
  32. hostname=198.168.0.113       # Hostname or IP address
  33. datadir=/usr/local/mysql/data   # Directory for this data node's datafiles
  34. # SQL node options:
  35. [MYSQLD]
  36. hostname=198.168.0.110           # Hostname or IP address
  37. # (additional mysqld connections can be
  38. # specified for this node for various
  39. # purposes such as running ndb_restore)

三、首次启动节点

1、启动管理节点

  1. /usr/local/mysql/bin/ndb_mgmd --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini

2、启动数据节点
首次启动需要--initial参数初始化,下一次启动就不需要了。

  1. /usr/local/mysql/bin/ndbd --initial

3、启动SQL节点

  1. /usr/local/mysql/bin/mysqld_safe  &

4、检查状态
如果一切正常,执行命令 /usr/local/mysql/bin/ndb_mgm -e show应该会输出类似信息:

[root@localhost mysql-cluster]# /usr/local/mysql/bin/ndb_mgm -e show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=2 @192.168.0.112 (mysql-5.5.27 ndb-7.2.8, Nodegroup: 0, Master)
id=3 @192.168.0.113 (mysql-5.5.27 ndb-7.2.8, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.0.111 (mysql-5.5.27 ndb-7.2.8)

[mysqld(API)] 1 node(s)
id=4 @192.168.0.110 (mysql-5.5.27 ndb-7.2.8)

四、测试服务是否正常

在SQL节点上执行如下数据库操作:

  1. /usr/local/mysql/bin/mysql -uroot -p
  2. mysql> create database clusterdb;use clusterdb;
  3. mysql> create table simples (id int not null primary key) engine=ndb;
  4. mysql> insert into simples values (1),(2),(3),(4);
  5. mysql> select * from simples;

如果出现:
+----+
| id |
+----+
| 1 |
| 2 |
| 4 |
| 3 |
+----+
则表示工作正常。

五、安全关闭和重启

1、关闭mysql集群,可在管理节点在执行如下命令:

  1. /usr/local/mysql/bin/ndb_mgm -e shutdown

2、重启管理节点

  1. /usr/local/mysql/bin/ndb_mgmd --configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini

3、重启数据节点

  1. /usr/local/mysql/bin/ndbd

参考:http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html

 

转载请标明文章来源:《https://www.centos.bz/2012/11/mysql-cluster-install-configure/

MySQL集群安装与配置的更多相关文章

  1. Springboot 2.0.x 集成基于Centos7的Redis集群安装及配置

    Redis简介 Redis是一个基于C语言开发的开源(BSD许可),开源高性能的高级内存数据结构存储,用作数据库.缓存和消息代理.它支持数据结构,如 字符串.散列.列表.集合,带有范围查询的排序集,位 ...

  2. ActiveMQ 高可用集群安装、配置(ZooKeeper + LevelDB)

    ActiveMQ 高可用集群安装.配置(ZooKeeper + LevelDB) 1.ActiveMQ 集群部署规划: 环境: JDK7 版本:ActiveMQ 5.11.1 ZooKeeper 集群 ...

  3. mysql集群安装配置

    看网上很多人说mysql集群不是很稳定,因此这2天做了下mysql的集群,打算配置没有什么问题了,过2天做下相关的性能测试,我的配置环境如下:   操作系统:      Centos5.2    软件 ...

  4. mysql集群安装(centos)

    mysql cluster : 1. 基于NDB Cluster 的分布式数据库系统 2. mysql集群中各服务器节点不共享数据 3. 在mysql cluster中节点指的是进程,区别于其他的集群 ...

  5. MySQL集群简介与配置详解

    1. 先了解一下你是否应该用MySQL集群. 减少数据中心结点压力和大数据量处理,采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据做出共 ...

  6. kafka集群安装与配置

    一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/ap ...

  7. 集群技术(二) MySQL集群简介与配置详解

    when?why? 用MySQL集群? 减少数据中心结点压力和大数据量处理(读写分离),采用把MySQL分布,一个或多个application对应一个MySQL数据库.把几个MySQL数据库公用的数据 ...

  8. Hadoop 2.8集群安装及配置记录

    第一部分:环境配置(含操作系统.防火墙.SSH.JAVA安装等) Hadoop 2.8集群安装模拟环境为: 主机:Hostname:Hadoop-host,IP:10.10.11.225 节点1:Ho ...

  9. zookeeper 集群安装与配置

    Zookeeper安装和配置 准备工作 安装 JDK,此步略. 下载 zookeeper wget http://archive.apache.org/dist/zookeeper/zookeeper ...

随机推荐

  1. 破解Excel 工作表/薄密码

    新建excel 在右上角的ThisWorkbook右键插入模块复制下列CODE. Option Explicit Public Sub AllInternalPasswords()' Breaks w ...

  2. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  3. tensorflow运行原理分析(源码)

    tensorflow运行原理分析(源码)  https://pan.baidu.com/s/1GJzQg0QgS93rfsqtIMURSA

  4. ReportManager

    package com.neusoft.report.engine; import com.neusoft.report.common.Logger; import com.neusoft.repor ...

  5. TCP的三次握手过程

    TCP::传输控制协议(Transmission Control Protocol )     是一种面相连接的.可靠的.基于字节流的 传输层通信协议. TCP是一种面相连接的协议.其显著的特点就是在 ...

  6. excel 导入导出测试点

    目前,为方便操作,很多系统都会增加批量导入导出的功能.文件导入导出一般格式都是excel.由于用户直接在excel在填写内容,无法控制填写的格 式,加上excel解析比较困难,所以一般涉及到excel ...

  7. 关于Polyaxon的使用

    1.首先upload代码 polyaxon upload 注意,upload只能在新建notebook前进行,且每次只能upload一次,所以在结束每次项目测试(开发)前,都应该在Polyaxon上修 ...

  8. note.js使用express创建项目的步骤以及ip和端口配置

    1.安装express npm install -g express 2.创建项目 express -e 项目名称 3.打开cmd进入项目目录安装依赖 npm install 4.打开配置文件./bi ...

  9. [每天一课] 今天就讲一讲关于vue-cli 脚手架里 如何调用API

    既然vue-resource停更了,就不讲了,但是效果也是差不多了 今天主要讲一下关于axios的方式来调用API,按照vue-cli的模式,这个当然得先引入一个axios这个模块了.那当然得走一遍终 ...

  10. python 并发编程 多进程 互斥锁

    运行多进程  每个子进程的内存空间是互相隔离的 进程之间数据不能共享的 一 互斥锁 但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终 ...