转: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、每个节点做相同的操作 cd /tmp wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.2/mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gz tar xzf mysql-cluster-gpl-7.2.8-linux2.6-i686.tar.gz mv mysql-cluster-gpl-7.2.8-linux2.6-i686 /usr/local/mysql 注意:这里下载的是32位的二进制包,如果你的系统是64位,需要下载64位的包。 2、存储节点和SQL节点安装 groupadd mysql useradd -g mysql mysql /usr/local/mysql/scripts/mysql_install_db –basedir=/usr/local/mysql –datadir=/usr/local/mysql/data –user=mysql chown -R root /usr/local/mysql chown -R mysql /usr/local/mysql/data chgrp -R mysql /usr/local/mysql cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf 二、节点配置 1、配置存储节点和SQL节点 vi /etc/my.cnf 类似于: # Options for mysqld process: [MYSQLD] ndbcluster # run NDB engine ndb-connectstring=198.168.0.111 # location of MGM node # Options for ndbd process: [MYSQL_CLUSTER] ndb-connectstring=198.168.0.111 # location of MGM node 2、配置管理节点 mkdir /var/lib/mysql-cluster cd /var/lib/mysql-cluster vi config.ini config.ini文件应类似于: # Options affecting ndbd processes on all data nodes: [NDBD DEFAULT] NoOfReplicas=2 # Number of replicas DataMemory=80M # How much memory to allocate for data storage IndexMemory=18M # How much memory to allocate for index storage # For DataMemory and IndexMemory, we have used the # default values. Since the “world” database takes up # only about 500KB, this should be more than enough for # this example Cluster setup. # TCP/IP options: [TCP DEFAULT] portnumber=2202 # This the default; however, you can use any # port that is free for all the hosts in cluster # Note: It is recommended beginning with MySQL 5.0 that # you do not specify the portnumber at all and simply allow # the default value to be used instead # Management process options: [NDB_MGMD] hostname=198.168.0.111 # Hostname or IP address of MGM node datadir=/var/lib/mysql-cluster # Directory for MGM node logfiles # Options for data node “A”: [NDBD] # (one [NDBD] section per data node) hostname=198.168.0.112 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node’s datafiles # Options for data node “B”: [NDBD] hostname=198.168.0.113 # Hostname or IP address datadir=/usr/local/mysql/data # Directory for this data node’s datafiles # SQL node options: [MYSQLD] hostname=198.168.0.110 # Hostname or IP address # (additional mysqld connections can be # specified for this node for various # purposes such as running ndb_restore) 三、首次启动节点 1、启动管理节点 /usr/local/mysql/bin/ndb_mgmd –configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini 2、启动数据节点 首次启动需要–initial参数初始化,下一次启动就不需要了。 /usr/local/mysql/bin/ndbd –initial 3、启动SQL节点 /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节点上执行如下数据库操作: /usr/local/mysql/bin/mysql -uroot -p mysql> create database clusterdb;use clusterdb; mysql> create table simples (id int not null primary key) engine=ndb; mysql> insert into simples values (1),(2),(3),(4); mysql> select * from simples; 如果出现: +—-+ | id | +—-+ | 1 | | 2 | | 4 | | 3 | +—-+ 则表示工作正常。 五、安全关闭和重启 1、关闭mysql集群,可在管理节点在执行如下命令: /usr/local/mysql/bin/ndb_mgm -e shutdown 2、重启管理节点 /usr/local/mysql/bin/ndb_mgmd –configdir=/var/lib/mysql-cluster -f /var/lib/mysql-cluster/config.ini 3、重启数据节点 /usr/local/mysql/bin/ndbd 参考:http://dev.mysql.com/doc/refman/5.1/zh/ndbcluster.html