您的位置:首页 > 数据库 > MySQL

Mysql集群安装指导

2012-12-11 18:00 267 查看

一、检查环境

1.检查系统是否装载了mysql

使用命令: rpm -qa|grep -i mysql
如果有显示全部卸载,如果没有说明没有安装mysql,有的话则删除 .
使用命令:rpm -e ****** 或者 yum -y remove *****

2.删除my.cnf

使用命令: rm –fr /etc/my.cnf

二、部署安装(管理节点和数据节点同样操作)

1.添加用户组及用户

shell> groupadd mysql

shell> useradd mysql -g mysql

2.解压安装包
shell> mv mysql-cluster-gpl-***-linux2.6-x86_64.tar.gz /usr/local/

shell> cd /usr/local/

shell> tar zxvf mysql-cluster-gpl-7.2.6-linux2.6-x86_64.tar.gz /usr/local/

shell> mv mysql-cluster-gpl-7.2.6-linux2.6-x86_64 mysql

shell> chown -R mysql:mysql mysql

shell> cd mysql
3.带参数安装

shell> scripts/mysql_install_db --user=mysql
--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data &

4.复制启动的快捷方式

拷贝ndb_mgm ndb_mgmd 文件到 /usr/local/bin/
cp -fr /usr/local/mysql/bin/ndb_mgm* /usr/local/bin/
【管理节点配置】
a.创建mysql-cluster文件夹
mkdir /var/lib/mysql-cluster
b.创建 config.ini文件
vi /var/lib/mysql-cluster/config.ini
文件内容
[NDBD DEFAULT]
NoOfReplicas: 1 #定义在Cluster环境中相同数据的份数 最大为4

# Data Memory, Index Memory, and String Memory #
DataMemory: 500M #分配的数据内存大小
IndexMemory: 250M #设定用于存放索引(非主键)数据的内存段大小

MaxNoOfAttributes: 20480 #类似于总体设置,大一些好,不数据量时容易报错
MaxNoOfTables: 1024
MaxNoOfOrderedIndexes: 2048
MaxNoOfUniqueHashIndexes: 512
MaxNoOfTriggers: 10240

[MGM DEFAULT]
PortNumber: 1186 #管理节点端口

[NDB_MGMD] #管理节点IP配置datadir值必须是真实存在的,不然启动报错
Nodeid=1
hostname=192.168.1.77
datadir=/var/lib/mysql-cluster/

[NDBD] #数据节点1
Nodeid=2
hostname=192.168.1.78
datadir=/usr/local/mysql/data

[NDBD] #数据节点2
Nodeid=3
hostname=192.168.1.79
datadir=/usr/local/mysql/data

[MYSQLD] #SQL节点1
hostname=192.168.1.77
[MYSQLD] #SQL节点2
hostname=192.168.1.77
[MYSQLD] #预留节点以备扩展使用,否则会出现Failed to allocate nodeid No free node id found for ndbd(NDB)错误
保存退出

c.创建my.cnf文件
vi /etc/my.cnf

[MYSQLD]
character_set_server=utf8
ndbcluster #运行NDB存储引擎
ndb-connectstring=192.168.1.77 #mysql数据库所在地址
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
lower_case_table_names=1 #表名是否区分大小写 1为不区分,不然linux下表名是区分大小写的
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.77 #mysql cluster 管理节点IP
保存退出
【数据节点配置】
a.创建my.cnf文件
[MYSQLD]
character_set_server=utf8
ndbcluster #运行NDB存储引擎
ndb-connectstring=192.168.1.78 #mysql数据库所在地址
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
port=3306
lower_case_table_names=1 #表名是否区分大小写 1为不区分,不然linux下表名是区分大小写的
[MYSQL_CLUSTER]
ndb-connectstring=192.168.1.77 #mysql cluster 管理节点IP
保存退出

三、安装后调试准备

1.把服务器的防火墙(IPTABLES)与 selinux关闭

service iptables stop
vi /etc/selinux/config (改为SELINUX=disabled)保存退出

2.reboot两台机器

由于不是从系统启动方面停止的防火墙(IPTABLES)
所以再停止一次防火墙(IPTABLES)
service iptables stop

四、启动

启动顺序:管理节点 à 数据节点 à SQL节点
关闭顺序:SQL节点à 数据节点 à 管理节点

1.动管理节点服务

shell> /usr/local/mysql/bin/ndb_mgmd -f /var/lib/mysql-cluster/config.ini

shell> netstat -lntpu

看到1186开放说明启动正常

2.启动数据节点服务 Data (NDBD) node

shell> /usr/local/mysql/bin/ndbd --initial

在两台机器上启动服务, 执行相同操作

★必须注意:只是在第一次启动或在备份/恢复或配置变化后重启ndbd时,才加–initial参数!
启动结果如下:

2012-06-30 05:01:11 [ndbd] INFO -- Angel connected to '192.168.6.134:1186'

2012-06-30 05:01:11 [ndbd] INFO -- Angel allocated nodeid

操作命令(节点状态、客户端状态查看 ndb_mgm -e show
停止管理节点与数据节点 ndb_mgm –e shutdown )

五、测试功能是否安装成功

在其中一个数据库中建立数据库和表,并插入数据。然后在另外的数据库中查看是否有数据。
例如:create table test1(id int) engine=ndbcluster ;
此处engine必须为ndbcluster 不然集群时导入数据易丢失,而且建立表的字段时必须有主键,不然cluster会默认为你添加主键,耗费无限的内存,导致系统崩溃(此处为测试表,没有主键,请谅解)

本文出自 “殇域” 博客,请务必保留此出处http://yaowu.blog.51cto.com/5289877/1085899
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: