• MySQL集群安装与配置


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

  • 相关阅读:
    iOS开发allocWithZone介绍
    如何快速的查看一段代码的执行时间
    iOS关于setContentOffset的一些细节问题
    iOS开发libz.dylib介绍
    C#窗体无法接受Keydown事件
    visual studio 2010 C#编程时 没有.NET framework 2.0目标框架的解决办法
    StringBuilder类与String类的区别
    Refresh和Invalidate的比较
    正则表达式
    Queue 先进先出队列的操作
  • 原文地址:https://www.cnblogs.com/L-H-R-X-hehe/p/3955100.html
Copyright © 2020-2023  润新知