Windows下配置Mysql集群

来源:互联网 发布:ta淘宝知名内衣模特 编辑:程序博客网 时间:2024/05/01 22:11
步骤如下: 
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停止集群。否则可能不会将全部数据写到磁盘。
原创粉丝点击