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

linux下mysql集群搭建
第1章  环境说明
1.1 系统说明
采用三台linux服务器,均采用centos6.2版本,最小化安装系统。
1.2 软件说明
数据库管理节点,数据库节点均采用:
mysql-cluster-gpl-7.0.8a-linux-i686-glibc23.tar.gz
1.3 拓扑结构说明
mysql集群有如下三层:
应用程序层:负责与mysql服务器通信的各种应用程序。
Mysql服务器层:处理SQL命令,并与NDB存储引擎通信和Mysql服务器。

NDB集群组件层:NDB集群组件有时也称数据节点,负责处理查询,然后将结果返回给mysql服务器。拓扑结构图如下所示:


 
mysql-cluster:192.168.254.200
NDB节点:IP地址:192.168.254.221
NDB节点:IP地址:192.168.254.222
SQL节点:IP地址:192.168.254.221
SQL节点:IP地址:192.168.254.222
第2章  Mysql管理节点安装
2.1 依赖包安装
yum install wget gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel –y
注:此处cmake是mysql 5.5之后版本所必需的,5.5之后的版本将cmake取代configure;
2.2 创建mysql用户
useradd -s /sbin/nologin -M mysql
2.3 编译安装mysql管理节点
tra xvf mysql-cluster-gpl-7.2.8.tar.gz
cd mysql-cluster-gpl-7.2.8
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql/ \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306


make && make install


2.4 修改配置文件
mkdir –p /data/mysql-cluster/ 
vi /data/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M      
[ndb_mgmd]
Id=1
Hostname=192.168.254.200           
datadir=/data/mysql/
[ndbd]
Id=2
Hostname=192.168.254.221     
datadir=/data/mysql/


[ndbd]
Id=3
Hostname=192.168.254.222
datadir=/data/mysql/
[MYSQLD]
[MYSQLD]
2.5 启动管理节点
/usr/local/mysql/bin/ndb_mgmd -f /data/mysql-cluster/config.ini
如果启动成功则会显示:
MySQL Cluster Management Server mysql-5.5.27 ndb-7.2.8
 
第3章  Mysql运行节点安装
3.1 安装说明
Mysql节点安装过程请参考管理节点安装;
3.2 配置文件修改
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
3.3 初始化mysql
bash scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql/
3.4 启动mysql节点服务
/usr/local/mysql/bin/ndbd –initial
/etc/init.d/mysqld start


第4章  管理、测试说明
4.1 管理节点状态
进入管理节点工作台
/usr/local/mysql/bin/ndb_mgmd
运行show 显示当前状态
 
即表明,集群运行正常。
4.2 Mysql节点状态
启动ndbd服务即会产生如下进程;
 
4.3 测试数据同步
221(master)上执行如下操作:
 
然后登录222mysql,查看状态:
 
同样在222上执行以下操作:
 
然后在221上查看同步结果:
 
以上结果即表明:集群运行成功,可以保证数据库主-辅同步。


然后将222的网络服务断掉,查看管理节点;
 
启动222网络服务,运行/usr/local/mysql/bin/ndbd –initial;
 
然后查看管理节点服务;
 
在断掉一个服务的情况下仍可继续使用mysql服务。
4.4 节点管理
如果修改过config.ini文件,则执行下面的语句使得配置文件生效;/usr/local/mysql/bin/ndb_mgmd -f /data/mysql-cluster/config.ini  --reload
滚动重启旧的数据存储节点服务(滚动重启,不能所有节点同时重启,如果同时停止,数据库前端查询就会出现错误);
ndb_mgm> “id” (restart;stop;start)
重启,停止,启动,”id”的节点服务。