三、在http://www.mysql.com/downloads/mirror.php?id=397968#mirrors上下载mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz,将该文件上传到服务器上,比如/home/zichen/下
四、安装,配置
shell> sudo groupadd mysql
shell> sudo useradd -g mysql mysql
shell> sudo cd /usr/local
shell> sudo tar -xvf mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz
shell> sudo ln -s mysql-cluster-gpl-7.1.9a-linux-i686-glibc23.tar.gz mysql #ln命令生成到该目录的一个符号链接
shell> cd mysql
shell> sudo scripts/mysql_install_db --user=mysql #mysql_install_db脚本,用来初始化mysql数据库的 授权表,其中贮存了服务器访问允许。
shell> sudo chown -R root . #将文件的所有属性改为root用户
shell> sudo chown -R mysql data #将数据目录的所有属性改为mysql用户
shell> sudo chgrp -R mysql . #将组属性改为mysql组
在server2,server3上上配置my.cnf
sudo nano /etc/my.cnf
在结尾增加:
程序代码 [mysqld] ndbcluster ndb-connectstring=192.85.1.5 [MYSQL_CLUSTER] ndb-connectstring= 192.85.1.5 在管理节点:server1:192.85.1.5上进行配置 程序代码 #mkdir –p /usr/local/mysql/mysql-cluster/ #cd /usr/local/mysql/mysql-cluster #vim config.ini [NDBD DEFAULT] NoOfReplicas=2 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] #设置管理节点服务器 [NDB_MGMD] hostname=192.85.1.5 #MGM上保存日志的目录 datadir=/usr/local/mysql/mysql-cluster/ #设置存储节点服务器(NDB节点) [NDBD] hostname=192.85.1.4 datadir=/var/lib/mysql-cluster #第二个NDB节点 [NDBD] hostname=192.85.1.9 datadir=/var/lib/mysql-cluster/ #设置SQL节点服务器 [MYSQLD] [MYSQLD]
在server2。server3上创建mysql-cluster目录,
sudo mkdir -p /var/lib/mysql-cluster
五、启动
1.启动管理:server1:192.85.1.5
程序代码 #/usr/local/mysql/bin/ndb_mgmd -f /usr/local/mysql/mysql-cluster/config.ini 2.启动存储节点 server2:192.85.1.4 server3:192.85.1.9 程序代码 # /usr/local/mysql/bin/ndbd –initial (第一次启动或管理节点的config.ini发生改变) #/usr/local/mysql/bin/ndbd (以后启动用这条) 3.启动SQL节点 server2:192.85.1.4 server3:192.85.1.9 # /usr/local/mysql/bin/mysqld_safe --user=mysql &
六、管理
1.在管理节点server1:192.85.1.5上操作
程序代码 # /usr/local/mysql/bin/ndb_mgm -- NDB Cluster -- Management Client -- ndb_mgm> show Connected to Management Server at: localhost:1186 Cluster Configuration --------------------- [ndbd(NDB)] 2 node(s) id=2 @192.85.1.4 (Version: 5.1.5, Nodegroup: 0) id=3 @192.85.1.9 (Version: 5.1.5, Nodegroup: 0, Master) [ndb_mgmd(MGM)] 1 node(s) id=1 @10.1.11.143 (Version: 5.1.5) [mysqld(API)] 2 node(s) id=4 @192.85.1.4 (Version: 5.1.5) id=5 @192.85.1.9 (Version: 5.1.5) ndb_mgm> 2.在SQL节点 server2:192.85.1.4 server3:192.85.1.9 程序代码 #sudo /usr/local/mysql/bin/mysql –u root –p (默认密码为空) mysql>use test; mysql> Create TABLE test (name int(10)) ENGINE=NDBCLUSTER; 接下来可以在两个SQL节点对表test进行操作,观察数据是否同步. 在server2上,插入一条数据,查看server2上是否存在 注意:如果要将现有的数据库转移到mysql集群中,应该将数据表的格式有MyISAM或InnoDB该为NDBCLUSTER。 创建表时:CREATE TABLE tbl_name (col_name column_definitions) ENGINE=NDBCLUSTER;
Alternatively, for an existing table that uses a different storage engine, use ALTER TABLE to change the table to use NDBCLUSTER:
ALTER TABLE tbl_name ENGINE=NDBCLUSTER; 更多详细信息请参阅:http://dev.mysql.com/doc/refman/5.1/en/mysql-cluster-multi-load-data-queries.html