日期:2014-05-16  浏览次数:20886 次

MySql集群安装与配置

? ? ? ? 首先简单介绍一下MySql Cluster,MySQL 集群是一个可扩展、高性能、集群化数据库产品。最初用于对使用要求最为最

苛刻的电信行业。电信应用要求数据库的可用性超过 99.999%。

?

? ? ? ?MySQL 集群由三类节点组成:

?

  • 数据节点(Data Nodes)存储所有属于 MySQL 集群的数据。
  • 管理服务器节点(Management Server Nodes) 控制系统启动时的初始配置。
  • MySQL 服务器节点(MySQL Server Nodes) 用于存取集群数据节点上的数据,为软件开发人员提供了一个标准 SQL 语言编程接口。

下面配置一个由一个管理节点、二个MySQL服务器节点和二个数据节点组成的集群,拓扑图如下:

?


#下载MySQL Cluster 7
shell> wget http://cdn.mysql.com/Downloads/MySQL-Cluster-7.0/mysql-cluster-gpl-7.0.35-linux-i686-glibc23.tar.gz

#在三台主机上添加mysql用户与组
shell> groupadd mysql
shell> useradd -g mysql mysql

#解压到/usr/local 建立连接
shell> tar -C /usr/local -zxvf mysql-cluster-gpl-7.0.35-linux-i686-glibc23.tar.gz
shell> ln -s /usr/local/mysql-cluster-gpl-7.0.35-linux-i686-glibc23?/usr/local/mysql

#进入mysql目录,运行所提供的用于创建系统数据库的脚本(默认配置/etc/my.cnf)
shell> cd mysql
shell> scripts/mysql_install_db --user=mysql?

#设置目录权限
shell> chown -R root .
shell> chown -R mysql data
shell> chgrp -R mysql .

配置管理节点
#创建目录
shell> mkdir /usr/local/mysql-cluster
shell> cd /usr/local/mysql-cluster
shell> mkdir data
shell> cd ..

#创建集群配置文件config.ini
shell> vim config.ini

[NDBD DEFAULT]
NoOfReplicas: 2
DataDir: /usr/local/mysql-ndb/data

# Data Memory, Index Memory, and String Memory

DataMemory: 128M
IndexMemory: 64M
BackupMemory: 32M

[MGM DEFAULT]
PortNumber: 1186
DataDir: /usr/local/mysql-cluster/data

[NDB_MGMD]
Id: 1
HostName: 192.168.66.170
ArbitrationRank: 1

[NDBD]
Id: 2
HostName: 192.168.66.171

[NDBD]
Id: 3
HostName: 192.168.66.172

[API]
Id: 4
HostName: 192.168.66.171
ArbitrationRank: 2
BatchByteSize:64KB
[API]
Id: 5
HostName: 192.168.66.172
BatchByteSize:64KB
[API]
Id: 6

[API]
Id: 7
??
配置数据节点与MySQLD节点

#分别在171和172主机上创建目录
shell> mkdir -p?/usr/local/mysql-ndb/data

#创建数据节点配置文件
shell> vim /usr/local/mysql-ndb/my.cnf
[MYSQLD]
ndbcluster                      # run NDB engine
ndb-connectstring=192.168.66.170  # location of MGM node

# Options for ndbd process:
[MYSQL_CLUSTER]
ndb-connectstring=192.168.66.170  # location of MGM node

配置MySQLD节点
#分别修改171和172主机mysqld默认配置文件,追加以下内容
shell> vim /etc/my.cnf?
[mysqld]
ndbcluster                      # run NDB engine
ndb-connectstring=192.168.66.170  # location of MGM node

[MYSQL_CLUSTER]
ndb-connectstring=192.168.66.170  # location of MGM node
?
启动集群
#启动集群管理节点
shell> ndb_mgmd -f /usr/local/mysql-cluster/config.ini
shell