Ubuntu10.10下MySQL5.1集群配置
一、环境
server1:192.85.1.5
server2:192.85.1.4
server3:192.85.1.9
二、集群方案
1.管理节点:server1
2.存储节点:server2,server3
3.SQL节点:server2,server3
三、在这里下载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=mysqlmysql_install_db脚本,www.linuxidc.com用来初始化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
vimconfig.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节点)
#p#副标题#e#
[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;