MySql-Cluster安装
系统 centos5.1 64位(如何是32位下相应32位的rpm包)
http://dev.mysql.com/get/Downloads/MySQL-Cluster-7.0和下面的包名对应
管理节点(ndb_mgmd):10.50.8.8
SQL节点1(mysqld): 10.30.8.10
SQL节点1(mysqld): 10.30.8.11
数据节点(ndbd): 10.50.8.10
数据节点(ndbd): 10.50.8.11
数据节点(ndbd): 10.50.8.12
数据节点(ndbd): 10.50.8.13
//------------------------------------------------------------------以这个开始(七台机子都这个操做)
首先要做的是把这七台机子的防火墙关掉(如何不关的话每个节点都连不通)
关闭防火墙:Service iptables stop;
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: filter [ OK ]
Unloading iptables modules: [ OK ]
如何这样关闭成功;
存储节点:mkdir /var/lib/mysql/data
管理结点:mkdir /var/lib/mysql-cluster
Sql结点:要不要都行
给两个文件赋权限
chmod -R 1777 /var/lib/mysql
chmod -R 1777 /var/lib/ mysql-cluster
//------------------------------------------------------------------以这个结束
管理节点安装:
MySQL-Cluster-gpl-management-7.0.9-0.rhel4.x86_64.rpm;
MySQL-Cluster-gpl-tools-7.0.9-0.rhel4.x86_64.rpm;
Rpm –ivh MySQL-Cluster-gpl-management-7.0.9-0.rhel4.x86_64.rpm
Rpm –ivh MySQL-Cluster-gpl-tools-7.0.9-0.rhel4.x86_64.rpm
vi /var/lib/mysql-cluster/config.ini
[ndbd default]
NoOfReplicas=2
DataMemory=80M
IndexMemory=18M
[tcp default]
SendBufferMemory=2M
ReceiveBufferMemory=2M
[NDB_MGMD DEFAULT]
PortNumber=1186
Datadir=/var/lib/mysql-cluster
[ndb_mgmd]
Id=1
HostName= 10.50.8.8
[ndbd]
Id=2
HostName=10.50.8.10
datadir=/var/lib/mysql/data
[ndbd]
Id=3
HostName= 10.50.8.11
datadir=/var/lib/mysql/data
[ndbd]
Id=4
HostName= 10.50.8.12
datadir=/var/lib/mysql/data
[ndbd]
Id=5
HostName= 10.50.8.13
datadir=/var/lib/mysql/data
[mysqld]
Id=14
HostName=10.30.8.10
[mysqld]
Id=15
HostName=10.30.8.11
[mysqld]
Id=16
//启动管理节点
ndb_mgmd -f /var/lib/mysql-cluster/config.ini
存储节点安装
MySQL-Cluster-gpl-storage-7.0.9-0.rhel4.x86_64.rpm
Rpm –ivh MySQL-Cluster-gpl-storage-7.0.9-0.rhel4.x86_64.rpm
vi /etc/my.cnf //确认添加修改了如下部分
[mysqld]
max_connections = 100
slow_query_log = /var/lib/mysql-cluster/slow_query.log
long_query_time = 1
datadir = /var/lib/mysql-cluster
ndbcluster
ndb-connectstring=10.50.8.8
[mysql_cluster]
ndb-connectstring= 10.50.8.8
初始化启动数据节点的数据库,
//ndbd –initial 不能同时在所有数据节点机器上执行,否者会删除所有数据.即该命令只能在其中一台数据节点中执行
ndbd –initial
如何这样:
[ndbd] INFO -- Configuration fetched from '10.50.8.8:1186', generation: 1
sql节点的安装
MySQL-Cluster-gpl-client-7.0.9-0.rhel4.x86_64.rpm
MySQL-Cluster-gpl-server-7.0.9-0.rhel4.x86_64.rpm
Rpm –ivh MySQL-Cluster-gpl-server-7.0.9-0.rhel4.x86_64.rpm
Rpm –ivh MySQL-Cluster-gpl-client-7.0.9-0.rhel4.x86_64.rpm --nodeps –force红色的一定写上不然安不上.
vi /etc/my.cnf //确认添加修改了如下部分
[mysqld]
ndbcluster
ndb-connectstring=10.50.8.8:1186
[mysql_cluster]
ndb-connectstring=10.50.8.8:1186
启动sql结点 我用这个 mysqld_safe &没有错(网上用的是mysqld_safe --user=mysql &在我机子上这个有错)
执行后
100308 13:46:32 mysqld_safe Logging to '/var/lib/mysql/localhost.localdomain.err'.
100308 13:46:32 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
Sql结点就成功了
在管理节点的机子下(10.50.8.8)
ndb_mgm
ndb_mgm> show
Connected to Management Server at: localhost:1186
Cluster Configuration
---------------------
[ndbd(NDB)] 4 node(s)
id=2 @10.50.8.10 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0, Master)
id=3 @10.50.8.11 (mysql-5.1.39 ndb-7.0.9, Nodegroup: 0)
id=4 @10.50.8.12 (mysql-5.1.39 ndb-7.0.9, no nodegroup)
id=5 @10.50.8.13 (mysql-5.1.39 ndb-7.0.9, no nodegroup)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @10.50.8.8 (mysql-5.1.39 ndb-7.0.9)
[mysqld(API)] 3 node(s)
id=14 @10.30.8.10 (mysql-5.1.39 ndb-7.0.9)
id=15 @10.30.8.11 (mysql-5.1.39 ndb-7.0.9)
id=16 (not connected, accepting connect from any host)
如何出现上面的信息就成功了.
出现not connected, accepting connect from any host是sql节点没有启来。
出现mysql-5.1.39 ndb-7.0.9,staring Nodegroup: 0 是说明存储节点没有启来。如何你的配置都没有错的话(那是你的防火墙没有关)
动态更新节点
关闭管理节点我这里的管理节点是1
ndb_mgm>1 stop
退出ndb_mgm
shell>vi /var/lib/mysql-cluster/config.ini
如果我们加一个ndbd节点
[ndbd]
Id=6
HostName= 10.50.8.13
datadir=/var/lib/mysql/data
保存退出
Ndb_mgmb –f config.ini –reload
2010-03-08 13:47:15 [MgmtSrvr] INFO -- NDB Cluster Management Server. mysql-5.1.39 ndb-7.0.9b
2010-03-08 13:47:16 [MgmtSrvr] INFO -- Reading cluster configuration from 'config.ini'
就从启成功了
把每个节点重启一下
Ndb节点在管理节点上执行 ndb_mgm>2 restart (如何你安上面安装的话应该知道进入ndb_mgm里)
Sql 节点在sql节点上 执行 service myql stop mysqld_save;
都做完了在管理节点上 show一下看看结果。