MySQL Cluster 7.2.4集群配置(二)
R mysql:mysql /usr/local/mysql
拷贝配置文件
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
初始化
数据库
cd /usr/local/
mysql
scripts/mysql_install_db --user=mysql
拷贝守护进程所需文件
cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld
配置守护进程
chkconfig –add mysqld
chkconfig –level 35 mysqld on
添加执行文件路径
vi ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin
更改配置文件
vi /etc/my.cnf
分别编辑如下信息:
[mysqld] #配置SQL节点与管理节点连接
port = 3306
socket = /tmp/mysql.sock
ndbcluster
ndb-connectstring=192.168.32.22
4、启动及关闭mysql cluster
www.2cto.com
启动顺序:管理服务器->存储节点->SQL节点
a、启动管理节点
rm mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上
ndb_mgmd -f /usr/local/mysql/cluster-conf/config.ini
b、启动存储节点
ndbd –initial #(第一次启动必须添加选项,另外备份/恢复,修改配置文件也需要执行)
ndbd #不是第一次启动需要执行的命令
c、启动SQL节点
/etc/rc.d/init.d/mysqld start 或service mysqld start
启动后可以用mysql -uroot -p 验证mysql服务状态
关闭顺序:SQL节点->管理节点
a、关闭SQL节点
/etc/rc.d/init.d/mysqld stop 或service mysqld stop
b、关闭管理节点
ndb_mgm〉 shutdown
5、验证配置的正确性
要先启动管理节点 再启动数据节点 等启动完后 再起sql节点 否则会出错
1、在管理节点执行:ndb_mgm -> show
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master) 启动完
id=12 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4, starting, Nodegroup: 0) 正在起
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.32.22 (mysql-5.5.19 ndb-7.2.4)
[mysqld(API)] 3 node(s)
id=21 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4)
id=22 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)
www.2cto.com
正常状态
ndb_mgm> show
Cluster Configuration
---------------------
[ndbd(NDB)] 2 node(s)
id=11 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0, Master)
id=12 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.32.22 (mysql-5.5.19 ndb-7.2.4)
[mysqld(API)] 3 node(s)
id=21 @202.122.32.68 (mysql-5.5.19 ndb-7.2.4)
id=22 @202.38.128.153 (mysql-5.5.19 ndb-7.2.4)
id=23 (not connected, accepting connect from any host)
2、在其中一个SQL节点创建数据库,添加数据。要等启动完再操作。
mysql -uroot -p
create database ndbtest;
use ndbtest;
CREATE TABLE `t1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=gbk;
NDB: Could not acquire global schema lock (266)Time-out in NDB,
启动完成前 如果在一个节点执行添加数据库的操作,不能同步到其他节点。
3、在另一个SQL节点,如果能够存在添加的数据库和数据,则说明配置成功
进入sql节点,在test数据库创建表
CREATE TABLE `t1` ( www.2cto.com
`id` int(11) NOT NULL AUTO_INCREMENT,
PRIMARY KEY (`id`)
) ENGINE=ndbcluster DEFAULT CHARSET=gbk
切换到2台数据节点服务器~/mysql/data/ndb_2_fs和~/mysql/data/ndb_3_fs看看,
或者直接去数据库查,数据已经同步了!
关闭集群服务
关闭sql节点等同于停止mysql服务,此时外界数据不将再进来。然后关闭管理节点
~/mysql/bin/ndb_mgm -e shutdown
rm ~/mysql/mysql-cluster/ndb_1_config.bin.1 #不是必须的,如果config.ini有改动则要加上
这样操作后,管理节点和数据节点都将停止服务
Notes:
1:如果发现关闭一台机器的ndbd进程,另一台机器的ndbd的进程也关闭,则需要修改参数NoOfReplicas。
2:./ndbd --initial 不能同时在所有数据节点机器上执行,如执行,会删除所有数据
3:可以像操作非簇类型的数据库那样,操作mysqld节点