:: DEVELOPER ZONE
In order to familiarise you with the basics, we will describe the simplest possible configuration for a functional MySQL Cluster. After this, you should be able to design your desired setup from the information provided in the other relevant sections of this chapter.
First, you need to create a configuration directory such as
/var/lib/mysql-cluster, by executing the
following command as the system root user:
shell> mkdir /var/lib/mysql-cluster
In this directory, create a file named
config.ini with the following information,
substituting appropriate values for HostName and
DataDir as necessary for your system.
# file "config.ini" - showing minimal setup consisting of 1 data node, # 1 management server, and 3 MySQL servers. # The empty default sections are not required, and are shown only for # the sake of completeness. # Data nodes must provide a hostname but MySQL Servers are not required # to do so. # If you don't know the hostname for your machine, use localhost. # The DataDir parameter also has a default value, but it is recommended to # set it explicitly. # Note: DB, API, and MGM are aliases for NDBD, MYSQLD, and NDB_MGMD # respectively. DB and API are deprecated and should not be used in new # installations. [NDBD DEFAULT] NoOfReplicas= 1 [MYSQLD DEFAULT] [NDB_MGMD DEFAULT] [TCP DEFAULT] [NDB_MGMD] HostName= myhost.example.com [NDBD] HostName= myhost.example.com DataDir= /var/lib/mysql-cluster [MYSQLD] [MYSQLD] [MYSQLD]
You can now start the management server as follows:
shell> cd /var/lib/mysql-cluster shell> ndb_mgmd
Then start a single DB node by running ndbd. When
starting ndbd for a given DB node for the very
first time, you should use the --initial option
as shown here:
shell> ndbd --initial
For subsequent ndbd starts, you will generally not want to use this option:
shell> ndbd
This is because the --initial option will delete
all existing data and log files (as well as all table metadata) for
this data node and create new ones. One exception to this rule is
when restarting the cluster and restoring from backup after adding
new data nodes.
By default, ndbd will look for the management
server at localhost on port 1186. (Prior to MySQL
4.1.8, the default port was 2200.)
Note: If you have installed MySQL
from a binary tarball, you will need to specify the path of the
ndb_mgmd and ndbd servers
explicitly. (Normally, these will be found in
/usr/local/mysql/bin.)
Finally, go to the MySQL data directory (usually
/var/lib/mysql or
/usr/local/mysql/data), and make sure that the
my.cnf file contains the option necessary to
enable the NDB storage engine:
[mysqld] ndbcluster
You can now start the MySQL server as usual:
shell> mysqld_safe --user=mysql &
Wait a moment to make sure the MySQL server is running properly. If
you see the notice mysql ended, check the
server's .err file to find out what went wrong.
If all has gone well so far, you now can start using the cluster:
shell> mysql
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 4.1.7
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> SHOW ENGINES;
+------------+---------+--------------------------------------------------------
----+
| Engine | Support | Comment
|
+------------+---------+--------------------------------------------------------
----+
...
| NDBCLUSTER | DEFAULT | Clustered, fault-tolerant, memory-based tables
|
| NDB | YES | Alias for NDBCLUSTER
|
...
mysql> USE test;
Database changed
mysql> CREATE TABLE ctest (i INT) ENGINE=NDBCLUSTER;
Query OK, 0 rows affected (0.09 sec)
mysql> SHOW CREATE TABLE ctest \G
*************************** 1. row ***************************
Table: ctest
Create Table: CREATE TABLE `ctest` (
`i` int(11) default NULL
) ENGINE=ndbcluster DEFAULT CHARSET=latin1
1 row in set (0.00 sec)
To check that your nodes were set up properly, start the management client as shown:
shell> ndb_mgm
You can then use the SHOW command from within the management client in order to obtain a report on the cluster's status:
NDB> SHOW Cluster Configuration --------------------- [ndbd(NDB)] 1 node(s) id=2 @127.0.0.1 (Version: 3.5.3, Nodegroup: 0, Master) [ndb_mgmd(MGM)] 1 node(s) id=1 @127.0.0.1 (Version: 3.5.3) [mysqld(API)] 3 node(s) id=3 @127.0.0.1 (Version: 3.5.3) id=4 (not connected, accepting connect from any host) id=5 (not connected, accepting connect from any host)
At this point, you have successfully set up a working MySQL Cluster.
You can now store data in the cluster by using any table created
with ENGINE=NDBCLUSTER or its alias
ENGINE=NDB.
© 1995-2005 MySQL AB. All rights reserved.

User Comments
Warning: query failed: Unknown column 'user.firstname' in 'field list' in /data0/sites/live/web-main/lib/mysql-cxn.php on line 69
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /data0/sites/live/web-main/lib/docbook.php on line 245
Add your own comment.