For this setup I have used three Servers
1. 192.168.35.22 ( Solaris 10, for running Management Node)
2. 192.168.35.78 ( Data Node, Centos 5)
3. 192.168.35.74 ( Data Node, Windows XP 2003)
Steps to install Data Node onto Windows XP ( 192.168.35.74)
1) Get the latest mysql cluster binaries for windows.
http://dev.mysql.com/downloads/cluster/7.0.html#win32
2) Run Windows MSI Installer and follow the steps but don't configure/start mysql instance.
3) MSI Installer will by default install mysql binaries onto following path i.e. C:\Program Files\MySQL\MySQL Server 7.0
2) Manually create following path ( directory structure onto C: Drive)
/var/lib/mysql-cluster
3) Edit my.ini ( C:\Program Files\MySQL\MySQL Server 7.0/my.ini) and paste following contents
[mysqld]
ndbcluster
ndb-connectstring=192.168.35.22
[mysql_cluster]
ndb-connectstring=192.168.35.22
Steps to setup Data Node onto Centos 5 ( 192.168.35.78)
1) Download RPMs for Centos 5 ( I have used Red Hat Enterprise Linux 5 RPM)
http://dev.mysql.com/downloads/cluster/7.0.html#Red_Hat_Enterprise_Linux_5_RPM_(x86)
2) You should download following RPMs
- MySQL-Cluster-gpl-client-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-devel-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-management-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-server-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-shared-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-storage-7.0.5-0.rhel5.i386.rpm
- MySQL-Cluster-gpl-tools-7.0.5-0.rhel5.i386.rpm
3) RPM installation
rpm -Uvh MySQL-Cluster-gpl-client-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-devel-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-management-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-server-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-shared-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-storage-7.0.5-0.rhel5.i386.rpm MySQL-Cluster-gpl-tools-7.0.5-0.rhel5.i386.rpm
4. Open my.cnf file using your favorite editor e.g. vi /etc/my.cnf and paste following lines
[mysqld]
ndbcluster
ndb-connectstring=192.168.35.22
[mysql_cluster]
ndb-connectstring=192.168.35.22
Steps to install Managment Node
1) Download binaries for Solaris
http://dev.mysql.com/downloads/cluster/7.0.html#Solaris
2) uncompress the file i.e. gzip mysql-cluster-gpl-7.0.5-solaris10-i386.pkg.gz
3) install package i.e. pkgadd -d mysql-cluster-gpl-7.0.5-solaris10-i386.pkg
4) create following directory structure
/var/lib/mysql-cluster
5) setup configure.ini file for managment server and paste following contents into it
e.g.
vi /etc/configure.ini
[NDBD DEFAULT]
NoOfReplicas=2
[MYSQLD DEFAULT]
[NDB_MGMD DEFAULT]
[TCP DEFAULT]
# Managment Server
[NDB_MGMD]
HostName=192.168.35.22 # the IP of Managment Server
# Storage Engines
[NDBD]
HostName=192.168.35.78 # the IP of the Windows XP running Data Node
DataDir= /var/lib/mysql-cluster
[NDBD]
HostName=192.168.35.74 # the IP of the Centos 5 running Data Node
DataDir=/var/lib/mysql-cluster
# 2 MySQL Clients
# I personally leave this blank to allow rapid changes of the mysql clients;
# you can enter the hostnames of the above two servers here. I suggest you dont.
[MYSQLD]
[MYSQLD]
Steps to start mysql cluster (192.168.35.22)
Start Management Node
1. Firstly we shall start managment server
ndb_mgmd -f /etc/configure.ini
Start Data Nodes
2. Go to Centos 5 ( 192.168.35.78) and start data node
ndbd
3. Go to Windows XP ( 192.168.35.74) and start data node
locate ndbd.exe file ( C:\Program Files\MySQL\MySQL Server 7.0\bin) and double click ndbd.exe
Check its working
You can now return to the managment server (192.168.35.22) and enter the managment console:
/opt/mysql/mysql-cluster/bin/ndb_mgm
Enter the command SHOW to see what is going on. A sample output looks like this:
-bash-3.00# ./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.168.35.78 (mysql-5.1.32 ndb-7.0.5, Nodegroup: 0, Master)
id=3 @192.168.35.74 (mysql-5.1.32 ndb-7.0.5, Nodegroup: 0)
[ndb_mgmd(MGM)] 1 node(s)
id=1 @192.168.35.22 (mysql-5.1.32 ndb-7.0.5)
[mysqld(API)] 2 node(s)
id=4 (not connected, accepting connect from any host)
id=5 (not connected, accepting connect from any host)
If you see
not connected, accepting connect from 192.168.35.[22/78/74]