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

Windows下配置Mysql集群

2013-11-07 11:00 447 查看
步骤如下:

1、准备服务器

管理节点(MGM) 192.168.0.10(db1)

SQL节点1(SQL1) 192.168.0.20(db2)

SQL节点2(SQL2) 192.168.0.30(db3)

数据节点1(NDBD1) 192.168.0.40(db4)

数据节点2(NDBD2) 192.168.0.50(db5)

如果只想配置在两台服务器上可以将db1,db2,db4放在同一台服务器上,db3,db5放在同一服务器上。

2、下载mysql-cluster-gpl-7.0.8a-win32.msi,mysql的官方网站上就可以下载。分别安装在准备好的服务器上。

3、在db1中创建C:/mysql/mysql-cluster,并且在mysql-cluster文件夹中创建一个名为config.ini的文件,config.ini的内容如下:

[NDBD DEFAULT]

NoOfReplicas=2

[MYSQLD DEFAULT]

[NDB_MGMD DEFAULT]

[TCP DEFAULT]

# Managment Server

[NDB_MGMD]

HostName=192.168.0.10 #管理节点服务器db1的IP地址

# Storage Engines

[NDBD]

HostName=192.168.0.10 #MySQL集群db1的IP地址

DataDir= E:/data #如果不存在就创建一个

[NDBD]

HostName=192.168.0.30 #MySQL集群db3的IP地址

DataDir= E:/data #如果不存在就创建一个

[MYSQLD]

HostName=192.168.0.10

[MYSQLD]

HostName=192.168.0.30

4、在第2步安装的mysql根目录下,一般是(D:/Program Files/MySQL/MySQL Server 7.0)这样的结构。在其中找到my.ini,在最后加入如下内容。

ndbcluster

ndb-connectstring=192.168.0.10

[mysql_cluster]

ndb-connectstring=192.168.0.10 #db1的IP地址

5、使用"D:/Program Files/MySQL/MySQL Server 7.0/bin/ndb_mgmd.exe" - f "C:/mysql/mysql-cluster/config.ini"启动管理节点服务器。

6、使用"D:/Program Files/MySQL/MySQL Server 7.0/bin/ndbd.exe" --initial分别启动节点服务。

7、启动mysql数据库服务。

8、使用"D:/Program Files/MySQL/MySQL Server 7.0/bin/ndb_mgm.exe"检查配置是否成功。一般地会输出如下内容:

C:/Documents and Settings/Administrator>"D:/Program Files/MySQL/MySQL Server 7.0/bin/ndb_mgm.exe"

-- NDB Cluster -- Management Client --

ndb_mgm> show

Connected to Management Server at: 192.168.0.10:1186

Cluster Configuration

---------------------

[ndbd(NDB)] 2 node(s)

id=2 @192.168.0.10 (mysql-5.1.37 ndb-7.0.8, Nodegroup: 0, Master)

id=3 @192.168.0.30 (mysql-5.1.37 ndb-7.0.8, Nodegroup: 0)

[ndb_mgmd(MGM)] 1 node(s)

id=1 @192.168.0.10 (mysql-5.1.37 ndb-7.0.8)

[mysqld(API)] 2 node(s)

id=4 @192.168.0.10 (mysql-5.1.37 ndb-7.0.8)

id=5 @192.168.0.30 (mysql-5.1.37 ndb-7.0.8)

*可以使用quit或者bye退出程序。

9、在db1上使用mysql -uroot -pxxxxxxx test

create table city(

id mediumint unsigned not null auto_increment primary key,

name varchar(20) not null default ''

engine = ndbcluster default charset utf8;

insert into city values(1, 'city1');

insert into city values(2, 'city2');

在db3上使用mysql -uroot -pxxxxxxx test

mysql> select * from city;

+-----------+

|id | name |

+-----------+

|1 | city1 |

+-----------+

|2 | city2 |

+-----------+

OK。

最关键的是要使用ndbcluster 作为表的存储引擎。

10、使用"D:/Program Files/MySQL/MySQL Server 7.0/bin/ndb_mgm.exe" -e shutdown停止集群。否则可能不会将全部数据写到磁盘。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: